public async Task <IActionResult> Post([FromBody] ClosingShiftAPI transactionApi) { CashierShift cashierShift = new CashierShift(); cashierShift.CashierShiftId = transactionApi.closingShiftId; cashierShift.DeviceName = transactionApi.deviceName; cashierShift.EmployeeCode = transactionApi.employeeId; cashierShift.EmployeeName = transactionApi.employeeName; cashierShift.OpeningTime = DateTime.Now; cashierShift.OpeningBalance = transactionApi.openingTransBal; cashierShift.ShiftCode = transactionApi.shiftCode; cashierShift.ShiftName = transactionApi.shiftCode + " - " + transactionApi.employeeName; cashierShift.ClosingBalance = transactionApi.closingTransBal; cashierShift.StoreCode = transactionApi.storeCode; cashierShift.StoreName = _context.Store.Where(c => c.Code == transactionApi.storeCode).First().Name; cashierShift.ClosingTime = DateTime.Now; _context.Add(cashierShift); //log record LogRecord log = new LogRecord(); log.TimeStamp = DateTime.Now; log.Tag = "Closing Shift"; log.Message = JsonConvert.SerializeObject(transactionApi); _context.LogRecord.Add(log); _context.SaveChanges(); this.sequenceNumber(transactionApi); return(Ok(cashierShift)); }
public async Task <IActionResult> create(userLoginList userLoginList) { try { List <UserLogin> list = userLoginList.UserList; for (int i = 0; i < list.Count; i++) { bool dataexist = _context.UserLogin.Any(c => c.UserId == list[i].UserId); if (!dataexist) { UserLogin login = new UserLogin(); string password = list[i].OldPassword; byte[] passwordHash, passwordSalt; CreatePasswordHash(password, out passwordHash, out passwordSalt); login.PasswordHash = passwordHash; login.PasswordSalt = passwordSalt; //login.ConfirmPassword = list[i].ConfirmPassword; //login.NewPassword = password; login.OldPassword = password; login.Role = list[i].Role; _context.Add(login); _context.SaveChanges(); CreateStoreifexist(login.UserId, login.Id); } else { return(StatusCode(404, new { status = "404", create = false, message = "Cannot create a record, user id already exist." })); } } return(StatusCode(200, new { status = "200", create = true, message = "Created successfully!" })); } catch (Exception ex) { return(StatusCode(500, new { status = "500", create = false, message = ex.ToString() })); } }
public async Task <IActionResult> create(discountSetupStoreList discSetupStoreList) { try { List <DiscountSetupStore> list = discSetupStoreList.discSetupStore; for (int i = 0; i < list.Count; i++) { bool discExist = false; bool storeExist = false; discExist = _context.DiscountSetup.Any(c => c.Id == list[i].DiscountId); var store = _context.Store.Where(x => x.Code == list[i].Store.Code).First(); storeExist = _context.DiscountSetupStore.Any(c => c.StoreId == store.Id); if (discExist && !storeExist) { DiscountSetupStore setupStore = new DiscountSetupStore(); setupStore.DiscountId = list[i].DiscountId; setupStore.StoreId = store.Id; _context.Add(setupStore); _context.SaveChanges(); } else { return(StatusCode(404, new { status = "404", create = false, message = "Cannot create a record, store id already exist or discount id not exist." })); } } return(StatusCode(200, new { status = "200", create = true, message = "Created successfully!" })); } catch (Exception ex) { return(StatusCode(500, new { status = "500", create = false, message = ex.ToString() })); } }
public async Task <IActionResult> create(ListPrice listPrice) { try { List <PriceList> list = listPrice.prices; for (int i = 0; i < list.Count; i++) { PriceList price = new PriceList(); price.ItemId = list[i].ItemId; price.SalesPrice = list[i].SalesPrice; price.Currency = list[i].Currency; _context.Add(price); bool discExist = false; discExist = _context.PriceList.Any(c => c.ItemId == price.ItemId); if (discExist == false) { _context.SaveChanges(); } else { return(StatusCode(404, new { status = "404", create = false, message = "Cannot create a record, item number already exist." })); } } return(StatusCode(200, new { status = "200", create = true, message = "Created successfully!" })); } catch (Exception ex) { return(StatusCode(500, new { status = "500", create = false, message = ex.ToString() })); } }
public IActionResult postStore([FromBody] StoreAPIModel param) { bool exist = _context.Store.Any(x => x.Id == param.Id); if (!exist) { try { var data = new Store() { Code = param.Code, Address = param.Address, Address2 = param.Address2, Address3 = param.Address3, Address4 = param.Address4, City = param.City, DateOpen = param.DateOpen, Name = param.Name, Location = param.Location, Regional = param.Regional, StoreTypeId = param.StoreTypeId, TargetQty = param.TargetQty, WarehouseId = param.WarehouseId, TargetValue = param.TargetValue }; _context.Store.Add(data); _context.SaveChanges(); response.code = "1"; response.message = "Data has been successfully saved"; } catch (Exception ex) { response.code = "0"; response.message = ex.ToString(); } } else { response.code = "5"; response.message = "Data already exists"; } return(Ok(response)); }
public async Task <IActionResult> create(discountSetupLineList discSetupLnList) { try { List <DiscountSetupLines> list = discSetupLnList.discountLines; for (int i = 0; i < list.Count; i++) { var discSetup = _context.DiscountSetup.Where(x => x.DiscountCode == list[i].DiscountCode).First(); DiscountSetupLines discSetupLines = new DiscountSetupLines(); discSetupLines.DiscountCode = list[i].DiscountCode; discSetupLines.GroupCode = list[i].GroupCode; discSetupLines.Code = list[i].Code; discSetupLines.DiscountPrecentage = list[i].DiscountPrecentage; discSetupLines.DiscountCash = list[i].DiscountCash; discSetupLines.QtyMin = list[i].QtyMin; discSetupLines.QtyMax = list[i].QtyMax; discSetupLines.AmountMin = list[i].AmountMin; discSetupLines.AmountMax = list[i].AmountMax; discSetupLines.ArticleIdDiscount = list[i].ArticleIdDiscount; discSetupLines.Multi = list[i].Multi; discSetupLines.DiscountSetupId = discSetup.Id; discSetupLines.CreatedDate = DateTime.Now; _context.Add(discSetupLines); _context.SaveChanges(); } return(StatusCode(200, new { status = "200", create = true, message = "created successfully!" })); } catch (Exception ex) { return(StatusCode(500, new { status = "500", create = false, message = ex.ToString() })); } }
public async Task <IActionResult> PostTransaction([FromBody] StockTakeAPI transactionApi) { APIResponse response = new APIResponse(); try { StockTake stockTake = new StockTake(); stockTake.EmployeeId = transactionApi.employeeId; stockTake.EmployeeName = transactionApi.employeeName; stockTake.Time = DateTime.Now; stockTake.StoreId = transactionApi.storeCode; _context.StockTake.Add(stockTake); //log record LogRecord log = new LogRecord(); log.TimeStamp = DateTime.Now; log.Tag = "Stock take"; log.Message = JsonConvert.SerializeObject(transactionApi); _context.LogRecord.Add(log); _context.SaveChanges(); for (int i = 0; i < transactionApi.stockTakeLines.Count; i++) { StockTakeLineAPI lineAPI = transactionApi.stockTakeLines[i]; StockTakeLine line = new StockTakeLine(); line.ArticleId = lineAPI.article.articleId; line.ArticleName = lineAPI.article.articleName; line.GoodQty = lineAPI.goodQty; line.RejectQty = lineAPI.rejectQty; line.WhGoodQty = lineAPI.whGoodQty; line.WhRejectQty = lineAPI.whRejectQty; line.StockTakeId = stockTake.Id; _context.Add(line); _context.SaveChanges(); } response.code = "1"; response.message = "Sucess Add Data"; } catch (Exception ex) { response.code = "0"; response.message = ex.ToString(); } return(Ok(response)); }
private void sequenceNumber(HOTransaction transactionApi) { SequenceNumberLog log = new SequenceNumberLog(); log.StoreCode = transactionApi.storeCode; log.LastNumberSequence = transactionApi.sequenceNumber; log.LastTransId = transactionApi.transactionId; log.Date = DateTime.Now; log.TransactionType = "HO Transaction"; _context.SequenceNumberLog.Add(log); _context.SaveChanges(); }
public async Task <IActionResult> Post([FromBody] ClosingStoreAPI transactionApi) { //log record LogRecord log = new LogRecord(); log.TimeStamp = DateTime.Now; log.Tag = "Closing Store"; log.Message = JsonConvert.SerializeObject(transactionApi); _context.LogRecord.Add(log); ClosingStore cashierShift = new ClosingStore(); cashierShift.ClosignTranBal = transactionApi.closingDeposit; cashierShift.ClosingDeposit = transactionApi.closingDeposit; cashierShift.ClosingPettyCash = transactionApi.closingDeposit; cashierShift.ClosingStoreId = transactionApi.closingStoreId; cashierShift.ClosingTimeStamp = DateTime.Now; cashierShift.DeviceName = transactionApi.deviceName; cashierShift.DisputePettyCash = transactionApi.disputePettyCash; cashierShift.DisputeTransBal = transactionApi.disputeTransBal; cashierShift.EmployeeId = transactionApi.employeeId; cashierShift.EmployeeName = transactionApi.employeeName; cashierShift.OpeningDeposit = transactionApi.openingDeposit; cashierShift.OpeningPettyCash = transactionApi.openingPettyCash; cashierShift.OpeningTimeStamp = DateTime.Now; cashierShift.OpeningTransBal = transactionApi.openingTransBal; cashierShift.RealDeposit = transactionApi.realDeposit; cashierShift.RealPettyCash = transactionApi.realPettyCash; cashierShift.RealTransBal = transactionApi.realTransBal; cashierShift.StatusClose = transactionApi.statusClose; cashierShift.StoreCode = transactionApi.storeCode; _context.Add(cashierShift); _context.SaveChanges(); this.sequenceNumber(transactionApi); return(Ok(cashierShift)); }
public async Task <IActionResult> create(BudgetList budgetList) { try { List <Budget> list = budgetList.Budgets; for (int i = 0; i < list.Count; i++) { Budget budget = new Budget(); budget.StoreCode = list[i].StoreCode; budget.StoreId = list[i].StoreId; budget.StoreName = list[i].StoreName; budget.Amount = list[i].Amount; budget.JournalNumber = list[i].JournalNumber; budget.TransactionDate = list[i].TransactionDate; _context.Add(budget); _context.SaveChanges(); } return(StatusCode(200, new { status = "200", create = true, message = "Created successfully!" })); } catch (Exception ex) { return(StatusCode(500, new { status = "500", create = false, message = ex.ToString() })); } }
public async Task <IActionResult> changepass([FromBody] ChangePasswordModel change) { var employeecode = await _context.Employee.Where(c => c.EmployeeCode == change.username).Select(c => c.Id).FirstOrDefaultAsync(); var login = await _context.UserLogin.FirstOrDefaultAsync(x => x.UserId == employeecode); if (login == null) { return(StatusCode(404, new { status = "404", error = true, message = "Username Not found" })); } if (!VerifyPasswordHash(change.currentpassword, login.PasswordHash, login.PasswordSalt)) { return(StatusCode(404, new { status = "404", error = true, message = "Incorrect Current Password" })); } byte[] passwordHash, passwordSalt; CreatePasswordHash(change.newpassword, out passwordHash, out passwordSalt); login.PasswordHash = passwordHash; login.PasswordSalt = passwordSalt; login.OldPassword = change.newpassword; _context.UserLogin.Update(login); _context.SaveChanges(); return(StatusCode(200, new { status = "200", error = false, message = "Change password success!" })); }
public async Task <IActionResult> PostTransaction([FromBody] ReturnOrder transactionApi) { APIResponse response = new APIResponse(); bool exist = _context.InventoryTransaction.Any(c => c.TransactionId == transactionApi.returnOrderId); if (exist == false) { LogRecord log = new LogRecord(); log.TimeStamp = DateTime.Now; log.Tag = "Return Order"; log.Message = JsonConvert.SerializeObject(transactionApi); log.TransactionId = transactionApi.returnOrderId; _context.LogRecord.Add(log); _context.SaveChanges(); DateTime asd; try { // transaction.RequestDeliveryDate = DateTime.ParseExact(transactionApi.timeStamp, "MMM dd, yyyy h:mm:ss tt", CultureInfo.InvariantCulture); asd = DateTime.ParseExact(transactionApi.date, "yyyy-MM-dd", CultureInfo.InvariantCulture); } catch { asd = DateTime.ParseExact(transactionApi.date, "yyyy-MM-dd", CultureInfo.InvariantCulture); } DateTime maret10 = DateTime.ParseExact("2019-03-10", "yyyy-MM-dd", CultureInfo.InvariantCulture); if (maret10 >= asd) { response.code = "1"; response.message = "Sucess Add Data"; return(Ok(response)); } Store store = _context.Store.Where(c => c.Code == transactionApi.storeCode).First(); Models.InventoryTransaction transaction = new Models.InventoryTransaction(); transaction.TransactionId = transactionApi.returnOrderId; transaction.StoreCode = transactionApi.storeCode; transaction.Remarks = "-"; transaction.StoreName = store.Name; transaction.TransactionTypeId = RetailEnum.returnTransaction; transaction.TransactionTypeName = "Return"; transaction.WarehouseOriginal = store.WarehouseId; transaction.WarehouseDestination = "210"; transaction.RequestDeliveryDate = DateTime.Now; // transaction.SJlama = transactionApi.oldSJ; try { transaction.TransactionDate = DateTime.Parse(transactionApi.date); } catch { } //DateTime.ParseExact(transactionApi.date, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); transaction.TotalQty = transactionApi.totalQty; transaction.Remarks = transactionApi.remark; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.InventoryTransaction.Add(transaction); await _context.SaveChangesAsync(); // this.insertInventoryReturnOrder(transactionApi).Wait(); //save Lines for (int i = 0; i < transactionApi.returnOrderLines.Count; i++) { Models.InventoryTransactionLines transactionLines = new Models.InventoryTransactionLines(); transactionLines.InventoryTransactionId = transaction.Id; transactionLines.ArticleId = transactionApi.returnOrderLines[i].article.articleIdAlias; transactionLines.ArticleName = transactionApi.returnOrderLines[i].article.articleName; transactionLines.Qty = transactionApi.returnOrderLines[i].quantity; // transactionLines.Amount = transactionApi.transactionLines[i].subtotal; _context.InventoryTransactionLines.Add(transactionLines); await _context.SaveChangesAsync(); } response.code = "1"; response.message = "Sucess Add Data"; this.sequenceNumber(transactionApi); } else { response.code = "0"; response.message = "Transacion Number Already Exist"; LogRecord log = new LogRecord(); log.TimeStamp = DateTime.Now; log.Tag = "Return Order"; log.Message = transactionApi.returnOrderId + "Aleader Exist"; _context.LogRecord.Add(log); _context.SaveChanges(); } return(Ok(response)); // return CreatedAtAction("GetTransaction", new { id = transaction.Id }, transaction); }
public async Task <IActionResult> Update([FromBody] DeliveryOrder transactionApi) { //add for log try { LogRecord log = new LogRecord(); log.TimeStamp = DateTime.Now; log.Tag = "Pre Confirm DO"; log.Message = JsonConvert.SerializeObject(transactionApi); log.TransactionId = transactionApi.deliveryOrderId; _context.LogRecord.Add(log); // _context.SaveChanges(); } catch { } //end log APIResponse response = new APIResponse(); try { bool statusConfirmed = _context.InventoryTransaction.Any(c => c.TransactionId == transactionApi.deliveryOrderId && c.Status == "Confirmed"); if (statusConfirmed) { response.code = "0"; response.message = "DO has been confirmed"; return(Ok(response)); } bool exsist = await _context.InventoryTransactionLines.AnyAsync(x => x.Urridn == transactionApi.deliveryOrderId); if (!exsist) { Models.InventoryTransaction transaction = await _context.InventoryTransaction.Where(c => c.TransactionId == transactionApi.deliveryOrderId).FirstAsync(); transaction.Status = "Confirmed"; transaction.StatusId = RetailEnum.doStatusConfirmed; transaction.Id = transaction.Id; transaction.SyncDate = DateTime.Now; transaction.EmployeeCode = transactionApi.employeeId; transaction.EmployeeName = transactionApi.employeeName; try { transaction.RequestDeliveryDate = DateTime.ParseExact(transactionApi.deliveryTime, "yyyy-MM-dd", CultureInfo.InvariantCulture); // MPOS } catch { //POS transaction.RequestDeliveryDate = DateTime.Now; } //log record if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.InventoryTransaction.Update(transaction); _context.SaveChanges(); List <Article> listar = new List <Article>(); //save Lines for (int i = 0; i < transactionApi.deliveryOrderLines.Count; i++) { var artikelaidifk = _context.Item.Where(x => x.Id == transactionApi.deliveryOrderLines[i].articleIdFk).First().ItemIdAlias; var itemanme = _context.Item.Where(x => x.Id == transactionApi.deliveryOrderLines[i].articleIdFk).First().Name; //add and remarkby frank // 7 april 2019 // untuk case yang double lines tidak ada packing number, referencenya beredsarkan id uniq di DO lins /*Models.InventoryTransactionLines transactionLines = await _context.InventoryTransactionLines.Where(c => c.InventoryTransactionId == transaction.Id && * c.ArticleId == artikelaidifk * && c.PackingNumber == transactionApi.deliveryOrderLines[i].packingNumber).FirstAsync(); */ Models.InventoryTransactionLines transactionLines = _context.InventoryTransactionLines.Find(transactionApi.deliveryOrderLines[i].id); //end of add end remark by frank transactionLines.ArticleName = itemanme; //reamakr by frank 1 oktobr // coa request // bool check = listar.Any(c => c.id == transactionApi.deliveryOrderLines[i].articleIdFk && c.articleIdAlias == transactionApi.deliveryOrderLines[i].packingNumber); // if (check) // { // transactionLines.RecieveQty = 0; // } // else // { transactionLines.RecieveQty = transactionApi.deliveryOrderLines[i].qtyReceive; // } //end of remark 1 oktoer Article dupli = new Article { id = transactionApi.deliveryOrderLines[i].articleIdFk, articleIdAlias = transactionApi.deliveryOrderLines[i].packingNumber }; listar.Add(dupli); _context.InventoryTransactionLines.Update(transactionLines); _context.SaveChanges(); } response.code = "1"; response.message = "Sucess Add Data"; DateTime maret20 = DateTime.ParseExact("2019-02-28", "yyyy-MM-dd", CultureInfo.InvariantCulture); if (transaction.TransactionDate >= maret20) { if (transaction.InforBypass == true) { } else { // WebAPIInforController.InforAPIController inforAPIController = new WebAPIInforController.InforAPIController(_context); // inforAPIController.RecieveRequestOrder(transactionApi, transaction.Id).Wait(); } if (transaction.StatusId == RetailEnum.doStatusConfirmed) { this.insertAndCalculateDO(transactionApi); } } } } catch (Exception ex) { response.code = "0"; response.message = ex.ToString(); } return(Ok(response)); }
public void getEmployeeMaster() { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("X-SFAPI-UserName", sunfishConfig.username); client.DefaultRequestHeaders.Add("X-SFAPI-AppName", sunfishConfig.appname); client.DefaultRequestHeaders.Add("X-SFAPI-RSAKey", sunfishConfig.RSAkey); client.DefaultRequestHeaders.Add("X-SFAPI-Account", sunfishConfig.account); // Make your request... try { HttpResponseMessage message = client.GetAsync(sunfishConfig.Uri + "index.cfm?endpoint=/biensi_SFFULL_EO_GetAllEmpBiensi").Result; if (message.IsSuccessStatusCode) { var serializer = new DataContractJsonSerializer(typeof(SunfishEmployee)); var result = message.Content.ReadAsStringAsync().Result; byte[] byteArray = Encoding.UTF8.GetBytes(result); MemoryStream stream = new MemoryStream(byteArray); SunfishEmployee resultData = serializer.ReadObject(stream) as SunfishEmployee; try { LogRecord logRecord = new LogRecord(); logRecord.Tag = "Batch - Employee - Data"; logRecord.TimeStamp = DateTime.Now; logRecord.Message = JsonConvert.SerializeObject(resultData); _context.LogRecord.Add(logRecord); _context.SaveChanges(); } catch { } for (int i = 0; i < resultData.RESULT.Count; i++) { try { //check if employee not exist then add new employee bool isEmployeeExist = _context.Employee.Any(c => c.EmployeeCode == resultData.RESULT[i].NIK); if (isEmployeeExist == false) { try { Employee employee = new Employee(); employee.Status = resultData.RESULT[i].STATUS_ACTIVE.Equals(1) ? true : false; employee.EmployeeName = resultData.RESULT[i].NAME; employee.EmployeeCode = resultData.RESULT[i].NIK; employee.LastUpdateDate = DateTime.Now; try { employee.PossitionId = _context.EmployeePossition.Where(c => c.PossitionId == resultData.RESULT[i].POS_CODE).First().Id; } catch { employee.PossitionId = _context.EmployeePossition.Where(c => c.PossitionId == "OFC123").First().Id; } // employee.PossitionId = _context.EmployeePossition.Where(c => c.PossitionId == resultData.RESULT[i].POS_CODE).First().Id; try { employee.StoreId = _context.Store.Where(c => c.Code == resultData.RESULT[i].STORE_CODE).First().Id; } catch { employee.StoreId = _context.Store.Where(c => c.Code == "000").First().Id; } _context.Employee.Add(employee); } catch { } } } catch { } } _context.SaveChanges(); } else { String data = message.Headers.ToString(); } } catch (Exception ex) { } } userlogincreation(); }
public async Task <String> postPettyCash([FromBody] PettyCash transaction, int id, String roundNumberParam) { var credentials = new NetworkCredential(inforConfig.username, inforConfig.password); var handler = new HttpClientHandler { Credentials = credentials }; handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return(true); }; String status = ""; String roundNumber = roundNumberParam; using (var client = new HttpClient(handler)) { // Make your request... client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); try { InforPettyCash inforObjTrans = new InforPettyCash(); inforObjTrans.program = "OPS270MI"; List <TransactionPettyCash> listTransaction = new List <TransactionPettyCash>(); for (int i = 0; i < transaction.pettyCashLine.Count; i++) { TransactionPettyCash t = new TransactionPettyCash(); t.transaction = "AddSlsTicketLin"; RecordPettyCash record = new RecordPettyCash(); record.CONO = "770"; record.DIVI = "AAA"; record.XRCD = "7000"; record.ITRN = roundNumber; record.WHLO = transaction.storeCode; record.ORNO = "PC" + id + ""; record.DLIX = "1"; record.PONR = (i + 1) + ""; record.POSX = "00"; record.CUCD = "IDR"; record.CUNO = transaction.customerIdStore; record.ITNO = transaction.expenseCategoryId; record.TRDT = DateTime.Now.ToString("yyyyMMdd"); record.TRTM = DateTime.Now.ToString("HHmmss");//"113000"; record.CUAM = transaction.pettyCashLine[i].total + ""; record.CSHC = "CSH"; record.VTCD = "0"; record.PYCD = "CSH"; record.ALUN = "PCS"; record.IVQA = transaction.pettyCashLine[i].quantity + ""; record.REFE = transaction.pettyCashLine[i].expenseName; record.INYR = DateTime.Now.Year + ""; record.VTP1 = 0 + ""; record.ARAT = 1 + ""; record.CRTP = 1 + ""; t.record = record; listTransaction.Add(t); } //sales ticket line inforObjTrans.transactions = listTransaction; HttpResponseMessage message = await client.PostAsJsonAsync(General.urlInfor, inforObjTrans); if (message.IsSuccessStatusCode) { status = message.ToString(); var serializer = new DataContractJsonSerializer(typeof(InforObjPostReturn)); var result = message.Content.ReadAsStringAsync().Result; byte[] byteArray = Encoding.UTF8.GetBytes(result); MemoryStream stream = new MemoryStream(byteArray); InforObjPostReturn resultData = serializer.ReadObject(stream) as InforObjPostReturn; // status = "Return : " + resultData.results[0].errorMessage + "Sukses "+ resultData.nrOfSuccessfullTransactions; IntegrationLog log = new IntegrationLog(); log.Description = transaction.pettyCashId; log.ErrorMessage = resultData.results[0].errorMessage; log.NrOfFailedTransactions = resultData.nrOfFailedTransactions; log.NrOfSuccessfullTransactions = resultData.nrOfSuccessfullTransactions; log.NumOfLineSubmited = listTransaction.Count; log.RefNumber = transaction.pettyCashId + ""; log.Json = JsonConvert.SerializeObject(inforObjTrans); log.TransactionType = "OPS270MI-PettyCashTcktLine"; _context.IntegrationLog.Add(log); _context.SaveChanges(); } else { status = "Failed : " + message.ToString(); } //send ticket pay List <TransactionPettyCash> listTransactionPay = new List <TransactionPettyCash>(); InforPettyCash inforObjPay = new InforPettyCash(); inforObjPay.program = "OPS270MI"; TransactionPettyCash tRansactionAddSlsTicketPay = new TransactionPettyCash(); tRansactionAddSlsTicketPay.transaction = "AddSlsTicketPay"; RecordPettyCash recordAddSlsTicketPayEDC2 = new RecordPettyCash(); recordAddSlsTicketPayEDC2.CONO = "770"; recordAddSlsTicketPayEDC2.DLIX = "1"; recordAddSlsTicketPayEDC2.DIVI = "AAA"; recordAddSlsTicketPayEDC2.XRCD = "7090"; recordAddSlsTicketPayEDC2.ITRN = roundNumber; recordAddSlsTicketPayEDC2.WHLO = transaction.storeCode; recordAddSlsTicketPayEDC2.ORNO = "PC" + id + ""; recordAddSlsTicketPayEDC2.PONR = (transaction.pettyCashLine.Count + 1) + ""; recordAddSlsTicketPayEDC2.POSX = "00"; recordAddSlsTicketPayEDC2.CUCD = "IDR"; recordAddSlsTicketPayEDC2.TRDT = DateTime.Now.ToString("yyyyMMdd"); recordAddSlsTicketPayEDC2.TRTM = DateTime.Now.ToString("HHmmss");//"113000"; recordAddSlsTicketPayEDC2.CUAM = transaction.totalExpense + ""; recordAddSlsTicketPayEDC2.PYCD = "CSH"; recordAddSlsTicketPayEDC2.REFE = transaction.expenseCategory; recordAddSlsTicketPayEDC2.ARAT = "1"; recordAddSlsTicketPayEDC2.CRTP = "1"; recordAddSlsTicketPayEDC2.ALUN = "PCS"; recordAddSlsTicketPayEDC2.CSHC = "CSH"; tRansactionAddSlsTicketPay.record = recordAddSlsTicketPayEDC2; listTransactionPay.Add(tRansactionAddSlsTicketPay); inforObjPay.transactions = listTransactionPay; HttpResponseMessage messagebatch = await client.PostAsJsonAsync(Config.General.urlInfor, inforObjPay); if (messagebatch.IsSuccessStatusCode) { status = messagebatch.ToString(); var serializer = new DataContractJsonSerializer(typeof(InforObjPostReturn)); var result = messagebatch.Content.ReadAsStringAsync().Result; byte[] byteArray = Encoding.UTF8.GetBytes(result); MemoryStream stream = new MemoryStream(byteArray); InforObjPostReturn resultData = serializer.ReadObject(stream) as InforObjPostReturn; // status = "Return : " + resultData.results[0].errorMessage + "Sukses "+ resultData.nrOfSuccessfullTransactions; IntegrationLog log = new IntegrationLog(); log.Description = transaction.pettyCashId; log.ErrorMessage = resultData.results[0].errorMessage; log.NrOfFailedTransactions = resultData.nrOfFailedTransactions; log.NrOfSuccessfullTransactions = resultData.nrOfSuccessfullTransactions; log.NumOfLineSubmited = listTransaction.Count; log.RefNumber = transaction.pettyCashId + ""; log.Json = JsonConvert.SerializeObject(inforObjPay); log.TransactionType = "OPS270MI-PettyCashTkcPay"; _context.IntegrationLog.Add(log); _context.SaveChanges(); } //end for pay //send batch //for auto batch List <TransactionPettyCash> listTransactionbatch = new List <TransactionPettyCash>(); InforPettyCash inforObjBatch = new InforPettyCash(); inforObjBatch.program = "OPS270MI"; TransactionPettyCash tRansactionAddBatch = new TransactionPettyCash(); tRansactionAddBatch.transaction = "BchPrcRound"; RecordPettyCash recordRoundNumber = new RecordPettyCash(); recordRoundNumber.CONO = "770"; recordRoundNumber.ITRN = roundNumber; recordRoundNumber.DIVI = "AAA"; recordRoundNumber.TRDT = DateTime.Now.ToString("yyyyMMdd"); recordRoundNumber.WHLO = transaction.storeCode; recordRoundNumber.ACDT = DateTime.Now.ToString("yyyyMMdd"); tRansactionAddBatch.record = recordRoundNumber; listTransactionbatch.Add(tRansactionAddBatch); inforObjBatch.transactions = listTransactionbatch; HttpResponseMessage messageTicketPay = await client.PostAsJsonAsync(Config.General.urlInfor, inforObjBatch); if (messageTicketPay.IsSuccessStatusCode) { status = messageTicketPay.ToString(); var serializer = new DataContractJsonSerializer(typeof(InforObjPostReturn)); var result = messageTicketPay.Content.ReadAsStringAsync().Result; byte[] byteArray = Encoding.UTF8.GetBytes(result); MemoryStream stream = new MemoryStream(byteArray); InforObjPostReturn resultData = serializer.ReadObject(stream) as InforObjPostReturn; // status = "Return : " + resultData.results[0].errorMessage + "Sukses "+ resultData.nrOfSuccessfullTransactions; IntegrationLog log = new IntegrationLog(); log.Description = transaction.pettyCashId; log.ErrorMessage = resultData.results[0].errorMessage; log.NrOfFailedTransactions = resultData.nrOfFailedTransactions; log.NrOfSuccessfullTransactions = resultData.nrOfSuccessfullTransactions; log.NumOfLineSubmited = listTransaction.Count; log.RefNumber = transaction.pettyCashId + ""; log.Json = JsonConvert.SerializeObject(inforObjBatch); log.TransactionType = "OPS270MI-PettyCashBatch"; _context.IntegrationLog.Add(log); _context.SaveChanges(); } } catch (Exception ex) { status = ex.ToString(); } } return(status); }
public async Task <String> postRequestOrder([FromBody] RequestOrder transaction, long id) { var credentials = new NetworkCredential(inforConfig.username, inforConfig.password); var handler = new HttpClientHandler { Credentials = credentials }; handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return(true); }; String status = ""; using (var client = new HttpClient(handler)) { // Make your request... client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); try { //add for DO Header InforDeliveryOrderPOST inforObj = new InforDeliveryOrderPOST(); inforObj.program = "MHS850MI"; List <TransactionDeliveryPOST> listTransaction = new List <TransactionDeliveryPOST>(); for (int i = 0; i < transaction.requestOrderLines.Count; i++) { TransactionDeliveryPOST t = new TransactionDeliveryPOST(); t.transaction = "AddDO"; RecordDeliveryPOST record = new RecordDeliveryPOST(); record.PRMD = "*EXE"; record.CONO = "770"; record.WHLO = "200"; record.E0PA = "FSH"; record.E0PB = "FSH"; record.E065 = "FSH"; record.CUNO = _context.Customer.Where(c => c.StoreId == _context.Store.Where(d => d.Code == transaction.storeCode).First().Id).First().CustId; record.ITNO = transaction.requestOrderLines[i].article.articleIdAlias; record.WHSL = "FG0101"; record.TWSL = "FG0101"; record.ALQT = transaction.requestOrderLines[i].quantity + ""; record.DLQT = transaction.requestOrderLines[i].quantity + ""; record.TRTP = Config.RetailEnum.RequestOrderEnum; record.USD4 = "PCS"; record.RESP = "INFOR"; record.RIDL = (i + 1) + ""; record.RIDN = id + ""; t.record = record; listTransaction.Add(t); // break; } inforObj.transactions = listTransaction; HttpResponseMessage message = await client.PostAsJsonAsync(Config.General.urlInfor, inforObj); if (message.IsSuccessStatusCode) { status = message.ToString(); var serializer = new DataContractJsonSerializer(typeof(InforObjPostReturn)); var result = message.Content.ReadAsStringAsync().Result; byte[] byteArray = Encoding.UTF8.GetBytes(result); MemoryStream stream = new MemoryStream(byteArray); InforObjPostReturn resultData = serializer.ReadObject(stream) as InforObjPostReturn; // status = "Return : " + resultData.results[0].errorMessage + "Sukses "+ resultData.nrOfSuccessfullTransactions; IntegrationLog log = new IntegrationLog(); log.Description = transaction.requestOrderId; try { log.ErrorMessage = resultData.results[0].errorMessage; } catch { } log.NrOfFailedTransactions = resultData.nrOfFailedTransactions; log.NrOfSuccessfullTransactions = resultData.nrOfSuccessfullTransactions; if (log.NrOfSuccessfullTransactions > 0) { log.RefNumber = id + ""; } else { log.RefNumber = id + ""; } log.NumOfLineSubmited = listTransaction.Count; log.TransactionType = "MHS850MI"; _context.IntegrationLog.Add(log); _context.SaveChanges(); } else { status = "Failed : " + message.ToString(); } } catch (Exception ex) { status = ex.ToString(); } } return(status); }
public IActionResult PostTransaction([FromBody] WebAPIModel.Transaction transactionApi) { APIResponse response = new APIResponse(); response.code = "5"; response.message = "Data Already exist"; bool exist = _context.Transaction.Any(x => x.TransactionId == transactionApi.transactionId); if (!exist) { try { try { LogRecord log = new LogRecord(); log.TimeStamp = DateTime.Now; if (transactionApi.status == 1) { log.Tag = "Transaction Pre"; } else { log.Tag = "Transaction Pre Void"; } log.Message = JsonConvert.SerializeObject(transactionApi); log.TransactionId = transactionApi.transactionId; _context.LogRecord.Add(log); // _context.SaveChanges(); } catch { response.code = "1"; response.message = "Data Already Exist"; return(Ok(response)); } //List<Store> liststore = _context.Store.ToList(); //var idx1 = storeindex(transactionApi.storeCode, liststore); //Store store = liststore[idx1]; Store store = _context.Store.Where(c => c.Code == transactionApi.storeCode).First(); StoreType storetype = _context.StoreType.Where(s => s.Id == store.StoreTypeId).FirstOrDefault(); Models.Transaction transaction = new Models.Transaction(); transaction.CustomerId = 1; try { Employee emp = _context.Employee.Where(c => c.EmployeeCode == transactionApi.employeeId).First(); transaction.EmployeeId = emp.Id; transaction.EmployeeCode = emp.EmployeeCode; transaction.EmployeeName = emp.EmployeeName; } catch { transaction.EmployeeId = 2643; } transaction.MarginTransaction = 0; transaction.MethodOfPayment = transactionApi.paymentType.ToString(); transaction.Qty = 0; transaction.RecieptCode = transactionApi.receiptId; transaction.Spgid = 0; transaction.StoreCode = transactionApi.storeCode; transaction.StoreId = store.Id; transaction.Status = transactionApi.status; transaction.ClosingShiftId = transactionApi.openShiftId; transaction.ClosingStoreId = transactionApi.openStoreId; transaction.TransactionId = transactionApi.transactionId; transaction.TotalAmounTransaction = transactionApi.total; transaction.TotalDiscount = transactionApi.discount; transaction.TransactionId = transactionApi.transactionId; transaction.Cash = transactionApi.cash; transaction.Edc1 = transactionApi.Edc1; transaction.Edc2 = transactionApi.Edc2; transaction.Bank1 = transactionApi.Bank1; transaction.Bank2 = transactionApi.Bank2; transaction.NoRef1 = transactionApi.NoRef1; transaction.NoRef2 = transactionApi.NoRef2; transaction.Change = transactionApi.change; try { transaction.TransactionDate = DateTime.ParseExact(transactionApi.timeStamp, "MMM dd, yyyy h:mm:ss", CultureInfo.InvariantCulture); } catch { /* * try * { * transaction.TransactionDate = DateTime.ParseExact(transactionApi.timeStamp, "yyyy-MM-dd" + "H:mm:ss", CultureInfo.InvariantCulture); * * } * catch { * * transaction.TransactionDate = DateTime.ParseExact(transactionApi.timeStamp, "M/dd/yyyy h:mm:ss tt", CultureInfo.InvariantCulture); * * } */ transaction.TransactionDate = DateTime.Now; } DateTime maret19 = DateTime.ParseExact("2019-03-20", "yyyy-MM-dd", CultureInfo.InvariantCulture); if (transaction.TransactionDate < maret19) { response.code = "1"; response.message = "Sucess Add Data"; return(Ok()); } try { var tglclosing = _context.ClosingStore.OrderByDescending(x => x.ClosingTimeStamp).Where(x => x.StoreCode == transactionApi.storeCode).First().ClosingTimeStamp; if (tglclosing != DateTime.Now) { transaction.TransDateStore = tglclosing; } else { try { transaction.TransDateStore = DateTime.ParseExact(transactionApi.timeStamp, "MMM dd, yyyy h:mm:ss tt", CultureInfo.InvariantCulture); } catch { /* * try * { * transaction.TransDateStore = DateTime.ParseExact(transactionApi.timeStamp, "yyyy-MM-dd" + "H:mm:ss", CultureInfo.InvariantCulture); * * } * catch * { * * transaction.TransDateStore = DateTime.ParseExact(transactionApi.timeStamp, "M/dd/yyyy h:mm:ss tt", CultureInfo.InvariantCulture); * * } */ transaction.TransDateStore = DateTime.Now; } } } catch { } if (storetype.StoreInStore.Value == true) { transaction.TransactionType = Config.RetailEnum.transactionStoreinStore; //true } else { transaction.TransactionType = Config.RetailEnum.transactionStore; //false } try { bool employeeInMaster = _context.Employee.Any(c => c.EmployeeCode == transactionApi.customerId); if (employeeInMaster) { transaction.Text2 = transactionApi.customerId; transaction.TransactionType = Config.RetailEnum.transactionEmployee; transaction.Text3 = transactionApi.customerIdStore; } } catch { } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Transaction.Add(transaction); _context.SaveChanges(); // sequenceNumber(transactionApi); //log record //save Lines for (int i = 0; i < transactionApi.transactionLines.Count; i++) { Models.TransactionLines transactionLines = new Models.TransactionLines(); transactionLines.TransactionId = transaction.Id; transactionLines.ArticleId = transactionApi.transactionLines[i].article.articleId; transactionLines.ArticleIdAlias = transactionApi.transactionLines[i].article.articleIdAlias; transactionLines.ArticleName = transactionApi.transactionLines[i].article.articleName; transactionLines.UnitPrice = transactionApi.transactionLines[i].price; transactionLines.Amount = transactionApi.transactionLines[i].subtotal; transactionLines.Discount = transactionApi.transactionLines[i].discount; transactionLines.DiscountCode = transactionApi.transactionLines[i].discountCode; transactionLines.DiscountType = transactionApi.transactionLines[i].discountType; transactionLines.Qty = transactionApi.transactionLines[i].quantity; transactionLines.Spgid = transactionApi.transactionLines[i].spgId; _context.TransactionLines.Add(transactionLines); _context.SaveChanges(); //7k ms } // _context.SaveChanges(); //5k ms response.code = "1"; response.message = "Sucess Add Data"; inventory(transactionApi).Wait(); sequenceNumber(transactionApi); //validate tansaction ke invent /* * DateTime maret10 = DateTime.ParseExact("2019-03-20", "yyyy-MM-dd", CultureInfo.InvariantCulture); * if (transaction.TransactionDate > maret10) * { * inventory(transactionApi).Wait(); * sequenceNumber(transactionApi); * } * * * * //add for infor * //remove by frank * //5 september 2019 * if (transaction.TransactionType == Config.RetailEnum.transactionStoreinStore) * { * // WebAPIInforController.InforAPITransactionInStoreController inforAPIController = new WebAPIInforController.InforAPITransactionInStoreController(_context); * // inforAPIController.AddBatchHead(transactionApi, transaction.Id).Wait(); * } * else * { * // WebAPIInforController.InforAPIController inforAPIController = new WebAPIInforController.InforAPIController(_context); * // inforAPIController.postOrder(transactionApi, transaction.Id).Wait(); * * } */ } catch (Exception ex) { response.code = "0"; response.message = ex.ToString(); } } return(Ok(response)); // return CreatedAtAction("GetTransaction", new { id = transaction.Id }, transaction); }
public async Task <IActionResult> create(discountSetupList discSetupList) { try { List <DiscountSetup> list = discSetupList.discounts; for (int i = 0; i < list.Count; i++) { DiscountSetup discSetup = new DiscountSetup(); discSetup.DiscountCode = list[i].DiscountCode; discSetup.DiscountName = list[i].DiscountName; discSetup.DiscountCategory = list[i].DiscountCategory; discSetup.CustomerGroupId = list[i].CustomerGroupId; discSetup.DiscountCash = list[i].DiscountCash; discSetup.DiscountPercent = list[i].DiscountPercent; discSetup.DiscountType = list[i].DiscountType; discSetup.AmountMin = list[i].AmountMin; discSetup.AmountMax = list[i].AmountMax; discSetup.QtyMin = list[i].QtyMin; discSetup.QtyMax = list[i].QtyMax; discSetup.StartDate = list[i].StartDate; discSetup.EndDate = list[i].EndDate; discSetup.Multi = list[i].Multi; discSetup.ApprovedDate = list[i].ApprovedDate; discSetup.Status = list[i].Status; discSetup.CreatedDate = DateTime.Now; _context.Add(discSetup); bool discExist = false; discExist = _context.DiscountSetup.Any(c => c.DiscountCode == discSetup.DiscountCode); if (discExist == false) { _context.SaveChanges(); } else { return(StatusCode(404, new { status = "404", create = false, message = "Cannot create a record, discount code already exist." })); } } return(StatusCode(200, new { status = "200", create = true, message = "Created successfully!" })); } catch (Exception ex) { return(StatusCode(500, new { status = "500", create = false, message = ex.ToString() })); } }
public async Task <IActionResult> PostTransaction([FromBody] MutasiOrder transactionApi) { APIResponse response = new APIResponse(); try { if (transactionApi.mutasiFromWarehouse == "" || transactionApi.mutasiFromWarehouse == null || transactionApi.mutasiToWarehouse == "" || transactionApi.mutasiFromWarehouse == null) { response.code = "0"; response.message = "No Warehouse Origin / Destination, Make sure to fill it."; return(BadRequest(response)); } bool exist = _context.InventoryTransaction.Any(c => c.TransactionId == transactionApi.mutasiOrderId); if (exist == false) { LogRecord log = new LogRecord(); log.TimeStamp = DateTime.Now; log.Tag = "Mutasi Order"; log.Message = JsonConvert.SerializeObject(transactionApi); log.TransactionId = transactionApi.mutasiOrderId; await _context.LogRecord.AddAsync(log); await _context.SaveChangesAsync(); DateTime asd;// = DateTime.Now; try { // transaction.RequestDeliveryDate = DateTime.ParseExact(transactionApi.timeStamp, "MMM dd, yyyy h:mm:ss tt", CultureInfo.InvariantCulture); asd = DateTime.ParseExact(transactionApi.date, "yyyy-MM-dd", CultureInfo.InvariantCulture); } catch { asd = DateTime.ParseExact(transactionApi.date, "yyyy-MM-dd", CultureInfo.InvariantCulture); } DateTime maret10 = DateTime.ParseExact("2019-03-10", "yyyy-MM-dd", CultureInfo.InvariantCulture); if (maret10 >= asd) { response.code = "1"; response.message = "Sucess Add Data"; return(Ok(response)); } Store store = _context.Store.Where(c => c.Code == transactionApi.storeCode).First(); Models.InventoryTransaction transaction = new Models.InventoryTransaction(); transaction.TransactionId = transactionApi.mutasiOrderId; transaction.StoreCode = transactionApi.storeCode; transaction.Remarks = transactionApi.remarks; transaction.StoreName = store.Name; transaction.TransactionTypeId = RetailEnum.mutasiTransaction; transaction.TransactionTypeName = "Mutasi"; transaction.Status = null; transaction.StatusId = null; transaction.WarehouseOriginal = transactionApi.mutasiFromWarehouse; transaction.WarehouseDestination = transactionApi.mutasiToWarehouse; transaction.RequestDeliveryDate = DateTime.Now; transaction.Sjlama = transactionApi.oldSJ; transaction.TransactionDate = DateTime.Now;//DateTime.ParseExact(transactionApi.date, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); try { transaction.TransactionDate = DateTime.Parse(transactionApi.date); } catch { } try { transaction.RequestDeliveryDate = DateTime.Parse(transactionApi.requestDeliveryDate); } catch { } transaction.TotalQty = transactionApi.totalQty; transaction.Remarks = ""; try { transaction.EmployeeCode = transactionApi.employeeId; transaction.EmployeeName = transactionApi.employeeName; } catch { } //add by frank for mutasi matrix try { Store storeMaster = _context.Store.Where(c => c.Code == transactionApi.mutasiFromWarehouse).First(); List <MutasiApproverMatrix> mutasiApproverMatrixs = _context.MutasiApproverMatrix.Where(c => c.StoreMatrix == storeMaster.Id).ToList(); MutasiApproverMatrix ms = mutasiApproverMatrixs.Where(c => c.StoreMatrix == storeMaster.Id).First(); if (transactionApi.mutasiType == 1) { transaction.EmployeeToApprove = ms.ApproverCity; } else if (transactionApi.mutasiType == 2) { transaction.EmployeeToApprove = ms.ApproverRegional; } else { transaction.EmployeeToApprove = ms.ApproverNational; } } catch { transaction.EmployeeToApprove = "admin123"; } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //log record _context.InventoryTransaction.Add(transaction); _context.SaveChanges(); //save Lines for (int i = 0; i < transactionApi.mutasiOrderLines.Count; i++) { Models.InventoryTransactionLines transactionLines = new Models.InventoryTransactionLines(); transactionLines.InventoryTransactionId = transaction.Id; transactionLines.ArticleId = transactionApi.mutasiOrderLines[i].article.articleIdAlias; transactionLines.ArticleName = transactionApi.mutasiOrderLines[i].article.articleName; transactionLines.Qty = transactionApi.mutasiOrderLines[i].quantity; try { transactionLines.ValueSalesPrice = transactionLines.Qty * _context.PriceList.Where(c => c.ItemId == transactionLines.ArticleId).First().SalesPrice; } catch { transactionLines.ValueSalesPrice = 0; } _context.InventoryTransactionLines.Add(transactionLines); _context.SaveChanges(); } response.code = "1"; response.message = "Sucess Add Data"; //Duplace karena di POS sudah kurang, jika rect qty akan bertambah, jika approve tidak perlu kalkulaso this.insertAndCalculateDO(transactionApi); this.sequenceNumber(transactionApi); } else { response.code = "1"; response.message = "Transaction Already Exist"; LogRecord log = new LogRecord(); log.TimeStamp = DateTime.Now; log.Tag = "Mutasi Order"; log.Message = transactionApi.mutasiOrderId + "Aleader Exist"; _context.LogRecord.Add(log); _context.SaveChanges(); } } catch (Exception ex) { response.code = "1"; response.message = ex.ToString(); } // await _context.SaveChangesAsync(); return(Ok(response)); // return CreatedAtAction("GetTransaction", new { id = transaction.Id }, transaction); }
public async Task <IActionResult> PostTransaction([FromBody] PettyCash transactionApi) { int orno = 0; //insert storeCode bool isStoreExist = _context.ExpenseStore.Any(c => c.StoreCode == transactionApi.storeCode); if (!isStoreExist) { ExpenseStore expenseStore = new ExpenseStore(); expenseStore.StoreCode = transactionApi.storeCode; expenseStore.RemaingBudget = 0; expenseStore.TotalExpense = 0; expenseStore.Year = DateTime.Now.Year; _context.ExpenseStore.Add(expenseStore); } APIResponse response = new APIResponse(); try { //perbaiki transaksi petty cash //add more unit; orno = _context.Expense.Count() + transactionApi.pettyCashLine.Count(); InforAPIPettyCash inforAPIPettyCash = new InforAPIPettyCash(_context); String itrn = inforAPIPettyCash.getRoundNumber(); foreach (PettyCashLine pl in transactionApi.pettyCashLine) { Expense expense = new Expense(); expense.Amount = (pl.price * pl.quantity); expense.CostCategoryId = transactionApi.expenseCategoryId; expense.CostCategoryName = transactionApi.expenseCategory; expense.ExpenseName = pl.expenseName; expense.StoreCode = transactionApi.storeCode; expense.Price = pl.price; expense.Qty = pl.quantity; expense.TypeId = Config.RetailEnum.expenseExpense; expense.TypeName = "Expense"; expense.Orno = "PC" + orno; expense.Itrn = itrn; try { expense.TransactionDate = DateTime.ParseExact(transactionApi.timeStamp, "MMM dd, yyyy h:mm:ss tt", CultureInfo.InvariantCulture); } catch { expense.TransactionDate = DateTime.ParseExact(transactionApi.date + transactionApi.time, "yyyy-MM-dd" + "H:mm:ss", CultureInfo.InvariantCulture); } _context.Add(expense); _context.SaveChanges(); } //log record this.updateExpense(transactionApi.storeCode); //post to infor inforAPIPettyCash.postPettyCash(transactionApi, orno, itrn).Wait(); response.code = "1"; response.message = "Sucess Add Data"; this.sequenceNumber(transactionApi); } catch (Exception ex) { response.code = "0"; response.message = ex.ToString(); } LogRecord log = new LogRecord(); log.TimeStamp = DateTime.Now; log.Tag = "Petty Cash"; log.Message = JsonConvert.SerializeObject(transactionApi); _context.LogRecord.Add(log); _context.SaveChanges(); return(Ok(response)); }
public async Task<IActionResult> getStore(String storeCode, String deviceId) { if (deviceId != null) { bool deviceaidi = _context.DeviceTable.Any(x => x.DeviceId == deviceId); if (!deviceaidi) { DeviceTable dtnew = new DeviceTable(); var check = _context.DeviceTable.LastOrDefault(); if (check == null) { dtnew.InitialId = "AAA"; } else { string ddv = check.InitialId; ddv = getGet(ddv); dtnew.InitialId = ddv; } dtnew.FirstLogin = DateTime.Now.ToString(); dtnew.TypeDevice = "POS"; dtnew.DeviceId = deviceId; _context.DeviceTable.Add(dtnew); _context.SaveChanges(); } else { DeviceTable tab = _context.DeviceTable.Where(x => x.DeviceId == deviceId).First(); tab.LastLogin = DateTime.Now.ToString(); _context.Update(tab); _context.SaveChanges(); } } StoreData storeData = new StoreData(); if (_context.Store.Any(c => c.Code == storeCode)) { // if (employee == null) // { // return NotFound(); // } try { Store store = _context.Store.Where(c => c.Code == storeCode).First(); try { storeData.deviceCode = _context.DeviceTable.Where(x => x.DeviceId == deviceId).First().InitialId; } catch { storeData.deviceCode = ""; } try { storeData.store = masterStore(store.Id); } catch { } try { storeData.warehouse = masterWarehose(_context.Store.Where(c => c.Id == store.Id).First().Code); } catch { } try { storeData.banks = masterBanks(store.Id); } catch { } try { storeData.employees = masterEmployee(store.Id); } catch (Exception) { } try { storeData.currency = masterCurrency("IDR"); } catch (Exception) { } try { storeData.budgetStore = this.budgetStore(storeCode); } catch { } } catch (Exception ex) { return Ok(ex.ToString()); } } return Ok(storeData); }