Vous êtes sur la page 1sur 9

//

// DetailsViewController.m
// ITC_SUSA
//
// Created by ADMTEAM on 13/06/17.
// Copyright © 2017 ADMTEAM. All rights reserved.
//

#import "DetailsViewController.h"
#import "DataObject.h"

@interface DetailsViewController ()

@end

@implementation DetailsViewController

NSString *compressedimg;
NSUserDefaults *defaults;
NSString *querySQL;
NSString *empno;
NSString *empNum;

UIImage* image;

NSString *docsDir;
NSArray *dirPaths;
//static sqlite3_stmt *compiledStatement = nil;

#define allTrim( object ) [object stringByTrimmingCharactersInSet:[NSCharacterSet


whitespaceCharacterSet] ]

- (void)viewDidLoad {
[super viewDidLoad];

employeesArray=[[NSMutableArray alloc]init];
empNoArray=[[NSMutableArray alloc]init];

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

[defaults removeObjectForKey:@"empName"];

_scrlView.contentSize=CGSizeMake(0, self.view.frame.size.height+2500);
_btnSave.layer.cornerRadius = 20;
_btnSave.layer.masksToBounds = YES;
_imgView.hidden=YES;
datePicker=[[UIDatePicker alloc]init];
datePicker.datePickerMode=UIDatePickerModeDate;
[self.lblDateField setInputView:datePicker];
UIToolbar *toolbar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];
[toolbar setTintColor:[UIColor grayColor]];
UIBarButtonItem *doneBtn=[[UIBarButtonItem alloc]initWithTitle:@"Done"
style:UIBarButtonItemStyleBordered target:self action:@selector(ShowSelectedDate)];
UIBarButtonItem *space=[[UIBarButtonItem
alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil
action:nil];
[toolbar setItems:[NSArray arrayWithObjects:space,doneBtn,nil ]];
[self.lblDateField setInputAccessoryView:toolbar];

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]


initWithTarget:self action:@selector(dismissKeyboard)];

[self.view addGestureRecognizer:tap];
empNum=nil;

[self PopulateEmployees];

-(NSMutableArray *)PopulateEmployees
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

BOOL success;
// const char *dbpath=[_databasePath UTF8String];
sqlite3 *database;
sqlite3_stmt *statement;
//empNum= [defaults objectForKey:@"empName"];
dirPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
docsDir=dirPaths[0];

_databasePath=[[NSString alloc]initWithString:[docsDir
stringByAppendingPathComponent:@"ITC_SUSA_DB.db"]];
NSFileManager *filemgr = [NSFileManager defaultManager];
// if ([filemgr fileExistsAtPath: _databasePath ] == NO)
//{

NSFileManager *fileManager = [NSFileManager defaultManager];

// Check if the database has already been created in the users filesystem
success = [fileManager fileExistsAtPath:_databasePath];

// If the database already exists then return without doing anything


/* if(success) return;

// If not then proceed to copy the database from the application to the users
filesystem

// Get the path to the database in the application package


NSString *databasePathFromApp = [[[NSBundle mainBundle] resourcePath]
stringByAppendingPathComponent:@"ITC_SUSA_DB.db"];

// Copy the database from the package to the users filesystem


[fileManager copyItemAtPath:databasePathFromApp toPath:_databasePath
error:nil];*/
const char *dbpath = [_databasePath UTF8String];
if (sqlite3_open(dbpath, &database) == SQLITE_OK)
{
if (empno==nil)
{

querySQL = @"select * from tbl_mst_employee order by emp_name"; //


Your Tablename
const char *query_stmt = [querySQL UTF8String];
sqlite3_stmt *compiledStatement;
if(sqlite3_prepare_v2(database, query_stmt, -1,
&compiledStatement, NULL) == SQLITE_OK)
{

while(sqlite3_step(compiledStatement) == SQLITE_ROW)
{

// defaults=[NSUserDefaults standardUserDefaults];
// key1=[defaults valueForKey:@"key4"];

// DataObject *obj=[[DataObject alloc]init];

NSString *employeename = [NSString stringWithUTF8String:


(char *)sqlite3_column_text(compiledStatement, 1)];

NSString *employeeNO = [NSString stringWithUTF8String:


(char *)sqlite3_column_text(compiledStatement, 2)];

NSString *finalstr=[NSString stringWithFormat:@"%@%@%@


%@",employeename,@"(",employeeNO,@")"];

[employeesArray addObject:finalstr];
// [empNoArray addObject:finalstr];
[empNoArray addObject:employeeNO];

}
}
}
else
{

querySQL= [NSString stringWithFormat:@"%@%@",@"select * from


tbl_mst_employee where emp_pno=",empno ];
const char *query_stmt = [querySQL UTF8String];
sqlite3_stmt *compiledStatement;
if(sqlite3_prepare_v2(database, query_stmt, -1,
&compiledStatement, NULL) == SQLITE_OK)
{

while(sqlite3_step(compiledStatement) == SQLITE_ROW)
{

// defaults=[NSUserDefaults standardUserDefaults];
// key1=[defaults valueForKey:@"key4"];

// DataObject *obj=[[DataObject alloc]init];

NSString *deptname = ((char


*)sqlite3_column_text(compiledStatement, 6)) ?
[NSString stringWithUTF8String:
(char *)sqlite3_column_text(compiledStatement, 6)] : nil;

_lblDept.text=deptname;

// [departmentArray addObject:finalstr];
// [empNoArray addObject:finalstr];
// [empNoArray addObject:employeeNO];

// [self LoadEmployees];

}
}
}
[self LoadEmployees];

// }
// sqlite3_finalize(compiledStatement);
}
sqlite3_close(database);

return employeesArray;

-(void)LoadEmployees
{
UIPickerView *picker1=[[UIPickerView alloc]init];
picker1=[[UIPickerView alloc]initWithFrame:CGRectMake(0.0, 150, 290.0, 330.0)];
// picker.backgroundColor=[UIColor lightGrayColor];
picker1.dataSource=self;
picker1.delegate=self;

[picker1 setShowsSelectionIndicator:YES];
[picker1 setTag:1];
[self.txtEmployeeName setInputView:picker1];
UIToolbar *toolBar1=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 292,
30 )];
[toolBar1 setTintColor:[UIColor blueColor]];
UIBarButtonItem *donebtn=[[UIBarButtonItem alloc]initWithTitle:@"Select"
style:UIBarButtonItemStyleBordered target:self action:@selector(removePicker)];

UIBarButtonItem *space=[[UIBarButtonItem
alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil
action:nil];
[toolBar1 setItems:[NSArray arrayWithObjects:space,donebtn, nil]];
[self.txtEmployeeName setInputAccessoryView:toolBar1];

-(void)removePicker
{
[self.txtEmployeeName resignFirstResponder];

#pragma mark-UIPickerView DataSource Method

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:


(NSInteger)component
{
//if (pickerView.tag==1)
// {
return [employeesArray count];

}
#pragma mark UIPickerView Delegate Maethod

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row


forComponent:(NSInteger)component
{
return [employeesArray objectAtIndex:row];

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row


inComponent:(NSInteger)component
{
self.txtEmployeeName.text=[employeesArray objectAtIndex:row];
empno=[empNoArray objectAtIndex:row];
[self PopulateEmployees];

// self.hdnText.text=[userid objectAtIndex:row];
}

- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:


(NSInteger)component
{
return 50;
}

-(void)dismissKeyboard
{

-(void)ShowSelectedDate
{
NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
[formatter setDateFormat:@"dd-MM-yyyy"];
self.lblDateField.text=[NSString stringWithFormat:@"%@", [formatter
stringFromDate:datePicker.date ]];

[self.lblDateField resignFirstResponder];

}
- (IBAction)btncaptureimgaction:(id)sender {
_imgView.hidden=NO;

CGRect frame = _btnSave.frame;


// frame.origin.x = 65; // new x coordinate
frame.origin.y = 1400; // new y coordinate
_btnSave.frame = frame;

NSString *other1 = @"Choose from Gallery";


NSString *other2 = @"Take Photo";

UIActionSheet *actionSheet = [[UIActionSheet alloc]


initWithTitle:nil
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:nil
otherButtonTitles:other1, other2,nil];

[actionSheet showInView:self.view];
}

- (IBAction)btnSave:(id)sender {
}

/*- (IBAction)btnSubmit:(id)sender {
UIImage *anImage;
NSString *imageString = [UIImagePNGRepresentation(_imgview.image)
base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

//To retrieve

NSData *data = [[NSData alloc]initWithBase64EncodedString:imageString


options:NSDataBase64DecodingIgnoreUnknownCharacters];
// _imgpreview.image=[UIImage imageWithData:data];

}*/

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:


(NSInteger)buttonIndex{

switch (buttonIndex) {
case 0:
[self chooseFromGallery];
break;
case 1:
[self takePhoto];
break;

default:
break;
}
}

#pragma mark- Take photo


-(void)takePhoto{

if([UIImagePickerController
isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
// picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;

[self presentViewController:picker animated:YES completion:NULL];

}else{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"


message:@"device does not support." delegate:nil cancelButtonTitle:@"Ok"
otherButtonTitles:nil, nil];
[alert show];
alert = nil;

#pragma mark- choose from gallery


-(void)chooseFromGallery{

if ([UIImagePickerController
isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {

UIImagePickerController *picker = [[UIImagePickerController alloc] init];


picker.delegate = self;
// picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentViewController:picker animated:YES completion:NULL];

}else{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"


message:@"device does not support." delegate:nil cancelButtonTitle:@"Ok"
otherButtonTitles:nil, nil];
[alert show];
alert = nil;

- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info {

UIImage *chosenImage = [info valueForKey:UIImagePickerControllerOriginalImage];

_imgView.image=chosenImage;

[picker dismissViewControllerAnimated:YES completion:NULL];

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{

[picker dismissViewControllerAnimated:YES completion:NULL];

+(UIImage *)imagewithImage:(UIImage*)image scaledToSize:(CGSize)newSize;


{
UIGraphicsBeginImageContext(newSize);
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage *newImage=UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
compressedimg=newImage;

}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little


preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/

@end

Vous aimerez peut-être aussi