public ResponseModel ChangeStatusValueInMasterTable(InvOutletPOReturnMaster aObj) { using (var transaction = _db.Database.BeginTransaction()) { try { if (aObj.Status != null) { DateTime aDate = DateTime.Now; InvOutletPOReturnMaster aOutletPOReturnMaster = _db.InvOutletPOReturnMasters.Find(aObj.OutletPOReturnMasterId); aOutletPOReturnMaster.ModifiedDate = aDate; aOutletPOReturnMaster.IsReturned = 2; aOutletPOReturnMaster.IsActive = false; _db.InvOutletPOReturnMasters.Attach(aOutletPOReturnMaster); _db.Entry(aOutletPOReturnMaster).State = EntityState.Modified; _db.SaveChanges(); if (aObj.IsReturned == 2) { var data = (from m in _db.InvOutletPOReturnMasters join d in _db.InvOutletPOReturnDetails on m.OutletPOReturnMasterId equals d.OutletPOReturnMasterId where m.OutletPOReturnMasterId == aObj.OutletPOReturnMasterId select new { m.WarehouseId, m.OutletId, d.OutletPOReturnMasterId, d.OutletPOReturnDetailsId, d.ProductId, d.ProductQuantity, }).ToList(); foreach (var p in data) { //InvOutletPOReturnDetail aOutletPOReturnDetail = new InvOutletPOReturnDetail() InvOutletPOReturnDetail aOutletPOReturnDetail = _db.InvOutletPOReturnDetails.Find(aObj.OutletPOReturnMasterId); aOutletPOReturnDetail.ModifiedDate = aDate; aOutletPOReturnDetail.IsReturned = 2; aOutletPOReturnDetail.IsActive = false; _db.InvOutletPOReturnDetails.Attach(aOutletPOReturnDetail); _db.Entry(aOutletPOReturnDetail).State = EntityState.Modified; _db.SaveChanges(); InvOutletStock aOutletStock = new InvOutletStock() { WarehouseId = p.WarehouseId, ProductId = p.ProductId, OutletId = p.OutletId, InOut = 2, Note = "Returned", OutletStockQuantity = p.ProductQuantity, IsActive = true, IsReturned = 2, CreatedDate = DateTime.Now }; _db.InvOutletStocks.Add(aOutletStock); _db.SaveChanges(); InvWarehouseStock aWarehouseStock = new InvWarehouseStock() { WarehouseId = p.WarehouseId, OutletId = p.OutletId, ProductId = p.ProductId, InOut = 1, Note = "ReturnReceived", WarehouseStockQuantity = p.ProductQuantity, IsActive = true, IsReturned = 0, IsReceived = true, CreatedDate = DateTime.Now }; _db.InvWarehouseStocks.Add(aWarehouseStock); _db.SaveChanges(); } transaction.Commit(); return(_aModel.Respons(true, "Return successfully received.")); } } transaction.Commit(); return(_aModel.Respons(false, "Failed to return receive.")); } catch (Exception e) { transaction.Rollback(); return(_aModel.Respons(false, "Sorry! Some Error Happned.")); } } }
public ResponseModel OutletPoReturnDetails(OutletPOReturnDetailsViewModel OutletPOReturnData, List <ProductOutletPOReturnVM> productList) { using (var transaction = _db.Database.BeginTransaction()) { try { DateTime aDate = DateTime.Now; InvOutletPOReturnMaster aOutletPOReturnMaster = new InvOutletPOReturnMaster() { OutletPOReturnMasterId = OutletPOReturnData.OutletPOReturnMasterId, Original_OutletPOMasterId = OutletPOReturnData.OutletPOMasterId, WarehouseId = OutletPOReturnData.WarehouseId, ///////When Identity will complete then we takeidies from WarehouseId and Outletet Id w OutletId = OutletPOReturnData.OutletId, //WarehouseId=1, //OutletId =1, Status = 0, IsActive = true, IsChanged = false, IsDeleted = false, IsEdited = false, IsReceived = false, IsReturned = 1, CreatedDate = aDate, }; if (OutletPOReturnData.OutletPOReturnMasterId == 0) { _db.InvOutletPOReturnMasters.Add(aOutletPOReturnMaster); _db.SaveChanges(); foreach (var aData in productList) { InvOutletPOReturnDetail aOutletPOReturnDetail = new InvOutletPOReturnDetail() { OutletPOReturnMasterId = aOutletPOReturnMaster.OutletPOReturnMasterId, OutletPOReturnDetailsId = aData.OutletPOReturnDetailsId, Original_OutletPODetailsId = aData.OutletPODetailsId, ProductId = aData.ProductId, ProductQuantity = aData.ProductQuantity, IsActive = true, IsChanged = false, IsDeleted = false, IsEdited = false, IsReceived = false, IsReturned = 1, CreatedDate = aDate, }; _db.InvOutletPOReturnDetails.Add(aOutletPOReturnDetail); _db.SaveChanges(); } _db.SaveChanges(); transaction.Commit(); return(_aModel.Respons(true, "Outlet PO return request Successful.")); } else if (OutletPOReturnData.OutletPOReturnMasterId > 0) { _db.InvOutletPOReturnMasters.Attach(aOutletPOReturnMaster); _db.Entry(aOutletPOReturnMaster).State = EntityState.Modified; _db.SaveChanges(); var invOutletPOReturnDetails = _db.InvOutletPOReturnDetails.Find(OutletPOReturnData.OutletPOReturnDetailsId); invOutletPOReturnDetails.IsActive = false; invOutletPOReturnDetails.ModifiedDate = aDate; _db.InvOutletPOReturnDetails.Add(invOutletPOReturnDetails); _db.Entry(invOutletPOReturnDetails).State = EntityState.Modified; _db.SaveChanges(); foreach (var aData in productList) { InvOutletPOReturnDetail aOutletPOReturnDetail = new InvOutletPOReturnDetail() { OutletPOReturnMasterId = aOutletPOReturnMaster.OutletPOReturnMasterId, OutletPOReturnDetailsId = aData.OutletPOReturnDetailsId, Original_OutletPODetailsId = aData.OutletPODetailsId, ProductId = aData.ProductId, ProductQuantity = aData.ProductQuantity, IsActive = true, CreatedDate = aDate }; _db.InvOutletPOReturnDetails.Add(aOutletPOReturnDetail); _db.Entry(aOutletPOReturnDetail).State = EntityState.Modified; _db.SaveChanges(); } transaction.Commit(); return(_aModel.Respons(true, "Successfully Outlet PO returned ")); } _db.SaveChanges(); transaction.Commit(); return(_aModel.Respons(true, "Sorry Outlet PO returned failed")); } catch (Exception) { transaction.Rollback(); return(_aModel.Respons(true, "Sorry Some Error Happned")); } } }
public ResponseModel OutletPoReturnByMarterId(OutletPOReturnDetailsViewModel OutletPOReturnData, List <ProductOutletPOReturnVM> productList) { using (var transaction = _db.Database.BeginTransaction()) { try { if (OutletPOReturnData.OutletPOReturnMasterId > 0) { DateTime aDate = DateTime.Now; var invOutletPOReturnMaster = _db.InvOutletPOReturnMasters.Find(OutletPOReturnData.OutletPOReturnMasterId); InvOutletPOReturnMaster aOutletPOReturnMaster = new InvOutletPOReturnMaster() { OutletPOReturnMasterId = OutletPOReturnData.OutletPOReturnMasterId, WarehouseId = 1, OutletId = 1, Status = 0, IsActive = true, CreatedDate = aDate, ModifiedDate = DateTime.Now, Note = "Return", IsReturned = 2, }; _db.InvOutletPOReturnMasters.Attach(aOutletPOReturnMaster); _db.Entry(aOutletPOReturnMaster).State = EntityState.Modified; _db.SaveChanges(); foreach (var aData in productList) { var invPoInvoiceDetails = _db.InvOutletPOReturnDetails.Find(OutletPOReturnData.OutletPOReturnMasterId); invPoInvoiceDetails.IsActive = false; invPoInvoiceDetails.ModifiedDate = aDate; _db.InvOutletPOReturnDetails.Attach(invPoInvoiceDetails); _db.Entry(invPoInvoiceDetails).State = EntityState.Modified; _db.SaveChanges(); InvOutletPOReturnDetail aOutletPOReturnDetail = new InvOutletPOReturnDetail() { OutletPOReturnMasterId = aOutletPOReturnMaster.OutletPOReturnMasterId, OutletPOReturnDetailsId = aData.OutletPOReturnDetailsId, Original_OutletPODetailsId = aData.OutletPODetailsId, ProductId = aData.ProductId, ProductQuantity = aData.ProductQuantity, IsActive = true, IsReturned = 2, CreatedDate = DateTime.Now }; _db.InvOutletPOReturnDetails.Add(aOutletPOReturnDetail); _db.Entry(aOutletPOReturnDetail).State = EntityState.Modified; _db.SaveChanges(); InvOutletStock aOutletStock = new InvOutletStock() { ProductId = aData.ProductId, OutletId = OutletPOReturnData.OutletId, OutletStockQuantity = aData.ProductQuantity, InOut = 2, Note = "Returned", IsActive = true, IsReturned = 2, CreatedDate = DateTime.Now }; _db.InvOutletStocks.Add(aOutletStock); _db.SaveChanges(); InvWarehouseStock aWarehouseStock = new InvWarehouseStock() { ProductId = aData.ProductId, OutletId = OutletPOReturnData.OutletId, InOut = 1, Note = "ReturnReceived", WarehouseStockQuantity = aData.ProductQuantity, IsActive = true, IsReceived = true, CreatedDate = DateTime.Now }; _db.InvWarehouseStocks.Add(aWarehouseStock); _db.SaveChanges(); } transaction.Commit(); return(_aModel.Respons(true, "Successfully received Outlet PO return")); } _db.SaveChanges(); transaction.Commit(); return(_aModel.Respons(true, "Sorry Outlet PO returned Failed")); } catch (Exception) { transaction.Rollback(); return(_aModel.Respons(true, "Sorry Some Error Happned")); } } }