private GenericValidator ValidateTransferNote(TransferNoteObject transferNote) { var gVal = new GenericValidator(); if (transferNote == null) { gVal.Code = -1; gVal.Error = message_Feedback.Fatal_Error; return(gVal); } if (transferNote.TotalAmount < 1) { gVal.Code = -1; gVal.Error = message_Feedback.Derived_Total_Cost_Error; return(gVal); } if (!transferNote.TransferNoteItemObjects.Any()) { gVal.Code = -1; gVal.Error = "Please review the selected products and try again."; return(gVal); } gVal.Code = 5; return(gVal); }
public ActionResult EditTransferNote(TransferNoteObject transferNote) { var gVal = new GenericValidator(); try { var valStatus = ValidateTransferNote(transferNote); if (valStatus.Code < 1) { gVal.Code = 0; gVal.Error = valStatus.Error; return(Json(gVal, JsonRequestBehavior.AllowGet)); } var userInfo = GetSignedOnUser(); if (userInfo == null || userInfo.UserProfile.Id < 1) { gVal.Code = -1; gVal.Error = "Your session has timed out."; return(Json(gVal, JsonRequestBehavior.AllowGet)); } var k = new TransferNoteServices().UpdateTransferNote(transferNote); if (k < 1) { gVal.Error = message_Feedback.Update_Failure; gVal.Code = 0; return(Json(gVal, JsonRequestBehavior.AllowGet)); } gVal.Code = k; gVal.ReferenceCode = transferNote.TransferNoteNumber; gVal.Error = message_Feedback.Update_Success; return(Json(gVal, JsonRequestBehavior.AllowGet)); } catch { gVal.Code = -1; gVal.Error = message_Feedback.Process_Failed; return(Json(gVal, JsonRequestBehavior.AllowGet)); } }
public long UpdateTransferNote(TransferNoteObject transferNote) { return(_transferNoteRepository.UpdateTransferNote(transferNote)); }
public long AddTransferNote(TransferNoteObject transferNote, out string transferNoteNumber) { return(_transferNoteRepository.AddTransferNote(transferNote, out transferNoteNumber)); }
public ActionResult AddTransferNote(TransferNoteObject transferNote) { var gVal = new GenericValidator(); try { var valStatus = ValidateTransferNote(transferNote); if (valStatus.Code < 1) { gVal.Code = -1; gVal.Error = valStatus.Error; return(Json(gVal, JsonRequestBehavior.AllowGet)); } var userInfo = GetSignedOnUser(); if (userInfo == null || userInfo.UserProfile.Id < 1) { gVal.Code = -1; gVal.Error = "Your session has timed out."; return(Json(gVal, JsonRequestBehavior.AllowGet)); } if (!transferNote.TransferNoteItemObjects.Any()) { gVal.Code = -1; gVal.Error = message_Feedback.Sold_Item_List_Error; return(Json(gVal, JsonRequestBehavior.AllowGet)); } if (transferNote.TransferNoteItemObjects.Any(y => y.TotalQuantityRaised < 1 || y.Rate < 1 || y.TotalAmountRaised < 1)) { gVal.Code = -1; gVal.Error = "Please review the selected product(s) and try again"; return(Json(gVal, JsonRequestBehavior.AllowGet)); } transferNote.Status = (int)TransfereNoteStatus.Pending; transferNote.GeneratedByUserId = userInfo.UserProfile.Id; transferNote.DateGenerated = DateTime.Now; var transferNoteNumber = ""; var k = new TransferNoteServices().AddTransferNote(transferNote, out transferNoteNumber); if (k < 1) { gVal.Error = message_Feedback.Insertion_Failure; gVal.Code = -1; return(Json(gVal, JsonRequestBehavior.AllowGet)); } gVal.Code = k; gVal.Error = message_Feedback.Insertion_Success; gVal.Date = transferNote.DateGenerated.ToString("dd/MM/yyyy"); gVal.ReferenceCode = transferNoteNumber; gVal.Time = transferNote.DateGenerated.ToString("hh:mm:ss tt"); return(Json(gVal, JsonRequestBehavior.AllowGet)); } catch (Exception e) { gVal.Code = -1; gVal.Error = message_Feedback.Process_Failed; return(Json(gVal, JsonRequestBehavior.AllowGet)); } }
public long AddTransferNote(TransferNoteObject transferNote, out string transferNoteNumber) { long pId = 0; try { if (transferNote == null || transferNote.TransferNoteItemObjects == null || !transferNote.TransferNoteItemObjects.Any()) { transferNoteNumber = ""; return(-2); } using (var db = _db) { var orderEntity = ModelCrossMapper.Map <TransferNoteObject, TransferNote>(transferNote); if (orderEntity == null || orderEntity.GeneratedByUserId < 1) { transferNoteNumber = ""; return(-2); } var code = DateTime.Now.Year + DateTime.Now.Month.ToString(); var similarBatches = db.TransferNotes.Where(u => u.TransferNoteNumber.Contains(code)).ToList(); if (similarBatches.Any()) { var tempList = new List <float>(); similarBatches.ForEach(x => { float t; var sprs = float.TryParse(x.TransferNoteNumber, out t); if (sprs && t > 0) { tempList.Add(t); } }); if (tempList.Any()) { var recent = tempList.OrderByDescending(k => k).ToList()[0]; orderEntity.TransferNoteNumber = (recent + 1).ToString(CultureInfo.InvariantCulture); } else { orderEntity.TransferNoteNumber = code + "1"; } } else { orderEntity.TransferNoteNumber = code + "1"; } transferNoteNumber = orderEntity.TransferNoteNumber; var processeTransferNote = db.TransferNotes.Add(orderEntity); db.SaveChanges(); pId = processeTransferNote.Id; transferNote.TransferNoteItemObjects.ToList().ForEach(it => { it.TransferNoteId = pId; var stocks = db.StoreItemStocks.Where(i => i.StoreItemStockId == it.StoreItemStockId).ToList(); if (!stocks.Any()) { return; } var stock = stocks[0]; var itemEntity = ModelCrossMapper.Map <TransferNoteItemObject, TransferNoteItem>(it); if (itemEntity != null && itemEntity.TransferNoteId > 0) { db.TransferNoteItems.Add(itemEntity); db.SaveChanges(); stock.QuantityInStock -= it.TotalQuantityRaised; db.Entry(stock).State = EntityState.Modified; db.SaveChanges(); } }); return(pId); } } catch (Exception e) { if (pId > 0) { using (var db = _db) { var list = db.TransferNoteItems.Where(g => g.TransferNoteId == pId).ToList(); if (list.Any()) { list.ForEach(d => { db.TransferNoteItems.Remove(d); db.SaveChanges(); }); } var items = db.TransferNotes.Where(g => g.Id == pId).ToList(); if (items.Any()) { var item = items[0]; db.TransferNotes.Remove(item); db.SaveChanges(); } } } ErrorLogger.LogError(e.StackTrace, e.Source, e.Message); transferNoteNumber = ""; return(0); } }
public long UpdateTransferNote(TransferNoteObject transferNote) { try { if (transferNote == null || transferNote.TransferNoteItemObjects == null || !transferNote.TransferNoteItemObjects.Any()) { return(-2); } using (var db = _db) { var ius = db.TransferNoteItems.Where(t => t.TransferNoteId == transferNote.Id).ToList(); if (!ius.Any()) { return(-2); } var orderEntities = db.TransferNotes.Where(t => t.Id == transferNote.Id).ToList(); if (!orderEntities.Any()) { return(-2); } var orderEntity = orderEntities[0]; orderEntity.TotalAmount = transferNote.TotalAmount; orderEntity.TargetOutletId = transferNote.TargetOutletId; orderEntity.SourceOutletId = transferNote.SourceOutletId; var items = transferNote.TransferNoteItemObjects.ToList(); db.Entry(orderEntity).State = EntityState.Modified; db.SaveChanges(); items.ForEach(it => { if (it.Id < 1) { it.TransferNoteId = transferNote.Id; var itemEntity = ModelCrossMapper.Map <TransferNoteItemObject, TransferNoteItem>(it); if (itemEntity != null && itemEntity.TransferNoteId > 0) { db.TransferNoteItems.Add(itemEntity); db.SaveChanges(); } } else { var refItem = ius.Find(f => f.Id == it.Id); if (refItem != null && refItem.Id > 0) { var stocks = db.StoreItemStocks.Where(i => i.StoreItemStockId == it.StoreItemStockId).ToList(); if (!stocks.Any()) { return; } var stock = stocks[0]; if (refItem.TotalQuantityRaised.Equals(it.TotalQuantityRaised)) { return; } stock.QuantityInStock += refItem.TotalQuantityRaised; db.Entry(stock).State = EntityState.Modified; db.SaveChanges(); refItem.TotalQuantityTransfered = it.TotalQuantityTransfered; refItem.TotalQuantityRaised = it.TotalQuantityRaised; refItem.TotalAmountRaised = it.TotalAmountRaised; refItem.TotalAmountTransfered = it.TotalAmountTransfered; refItem.Rate = it.Rate; db.Entry(refItem).State = EntityState.Modified; db.SaveChanges(); stock.QuantityInStock -= it.TotalQuantityRaised; db.Entry(stock).State = EntityState.Modified; db.SaveChanges(); } } }); return(orderEntity.Id); } } catch (DbEntityValidationException e) { var str = ""; foreach (var eve in e.EntityValidationErrors) { str += string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State) + "\n"; foreach (var ve in eve.ValidationErrors) { str += string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage) + " \n"; } } ErrorLogger.LogError(e.StackTrace, e.Source, str); return(0); } }