public IHttpActionResult InsertStockAdjustment(StockAdjustmentTransferModel data) { try { using (Restaurants context = new Restaurants()) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { data.Master.ForEach(x => { x.B_Sync = true; x.SyncDate = DateTime.Now; }); data.ItemMoves.ForEach(x => x.B_Sync = true); context.Stock_Adjst_MST.AddRange(data.Master); context.Stock_Adjst_DTL.AddRange(data.Detail); context.Item_Move.AddRange(data.ItemMoves); context.SaveChanges(); dbContextTransaction.Commit(); } catch (Exception ex) { dbContextTransaction.Rollback(); return(Ok(new AjaxResponse <object>() { Success = false, ErrorMessage = ex.GetLastException() })); } } context.Stock_Adjst_MST.AddRange(data.Master); context.Stock_Adjst_DTL.AddRange(data.Detail); context.Item_Move.AddRange(data.ItemMoves); context.SaveChanges(); } } catch (Exception ex) { return(Ok(new AjaxResponse <object>() { Success = false, ErrorMessage = ex.GetLastException() })); } return(Ok(new AjaxResponse <object>() { Success = true, SuccessMessage = "Successfully" })); }
public IHttpActionResult InsertMaintaince(MainatainceTransferModel data) { try { using (Restaurants context = new Restaurants()) { data.Master.ForEach(x => { x.B_Sync = true; x.SyncDate = DateTime.Now; }); context.MNTNC_REQ.AddRange(data.Master); context.SaveChanges(); } } catch (Exception ex) { return(Ok(new AjaxResponse <object>() { Success = false, ErrorMessage = ex.GetLastException() })); } return(Ok(new AjaxResponse <object>() { Success = true, SuccessMessage = "Successfully" })); }
public IHttpActionResult InsertUserIncome(UserIncomeModel data) { try { using (Restaurants context = new Restaurants()) { using (var dbContextTransaction = context.Database.BeginTransaction()) { //try //{ data.Master.ForEach(x => { x.B_Sync = true; x.SyncDate = DateTime.Now; }); context.User_Income.AddRange(data.Master); context.SaveChanges(); dbContextTransaction.Commit(); //} //catch (Exception ex) //{ // dbContextTransaction.Rollback(); // return Ok(new AjaxResponse<object>() { Success = false, ErrorMessage = ex.GetLastException() }); //} } } } catch (Exception ex) { var error = ex as SqlException; if (error != null && error.Number == 2627 && ex.GetLastException().Contains("Violation of PRIMARY KEY constraint")) { DeleteDuplicateUserIncomes(data); } if (ex.GetLastException().Contains("Cannot insert duplicate key row in object")) { DeleteDuplicateUserIncomes(data); } else { return(Ok(new AjaxResponse <object>() { Success = false, ErrorMessage = ex.GetLastException() })); } } return(Ok(new AjaxResponse <object>() { Success = true, SuccessMessage = "Successfully" })); }
public IHttpActionResult InsertInsurances(InsuranceTransferModel data) { try { using (Restaurants context = new Restaurants()) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { data.Master.ForEach(x => { x.B_Sync = true; x.SyncDate = DateTime.Now; }); context.Insurances.AddRange(data.Master); context.Insurance_Bills_DTL.AddRange(data.Detail); context.Insurances_Closed.AddRange(data.Closed); context.SaveChanges(); dbContextTransaction.Commit(); } catch (Exception ex) { dbContextTransaction.Rollback(); return(Ok(new AjaxResponse <object>() { Success = false, ErrorMessage = ex.GetLastException() })); } } } } catch (Exception ex) { return(Ok(new AjaxResponse <object>() { Success = false, ErrorMessage = ex.GetLastException() })); } return(Ok(new AjaxResponse <object>() { Success = true, SuccessMessage = "Successfully" })); }
public IHttpActionResult InsertSpends(SpendsTransferModel data) { try { using (Restaurants context = new Restaurants()) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { data.Master.ForEach(x => { x.B_Sync = true; x.SyncDate = DateTime.Now; }); context.Spends.AddRange(data.Master); context.SaveChanges(); dbContextTransaction.Commit(); } catch (Exception ex) { dbContextTransaction.Rollback(); return(Ok(new AjaxResponse <object>() { Success = false, ErrorMessage = ex.GetLastException() })); } } } } catch (Exception ex) { var error = ex as SqlException; if (error != null && error.Number == 2627 && ex.GetLastException().Contains("Violation of PRIMARY KEY constraint")) { using (var tranasactionScope = new TransactionScope()) { using (var context = new Restaurants()) { var branch = data.Master.Select(x => x.Branch_No).FirstOrDefault(); var date = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); var allEntities = context.Spends .Where(x => x.Branch_No == branch && DbFunctions.TruncateTime(x.SyncDate) >= DbFunctions.TruncateTime(date)) .ToList(); var similarEntities = data.Master.Intersect(allEntities, new LambdaComparer <Spend>( (x, y) => x.Branch_No == y.Branch_No && x.Sp_No == y.Sp_No && x.User_ID == y.User_ID)).ToList(); foreach (var entity in similarEntities) { data.Master.Remove(entity); } EFBatchOperation.For(context, context.Spends).InsertAll(data.Master); tranasactionScope.Complete(); } } } else { return(Ok(new AjaxResponse <object>() { Success = false, ErrorMessage = ex.GetLastException() })); } } return(Ok(new AjaxResponse <object>() { Success = true, SuccessMessage = "Successfully" })); }