public HttpResponseMessage SaveStockMovement(stockmovement r, int?tqid, string serinos) { var userID = 7; if (r.movementid <= 0) { return(InsertStockMovement(r, tqid, serinos)); } else { using (var db = new CRMEntities()) { var Records = db.stockmovement.Include(s => s.stockcard).Where(s => s.movementid == r.movementid); if (Records.Count() > 0) { //var confirmationroles = (new KocCRMRoles[]{ // KocCRMRoles.kscrProductionStaff, // KocCRMRoles.kscrSalesStaff, // KocCRMRoles.kscrStockStaff, // KocCRMRoles.kscrTechnicalStaff, // KocCRMRoles.kscrBackOfficeStaff, // KocCRMRoles.kscrCallCenterStaff // }).Select(role => (long)role).ToList(); var Record = Records.First(); if (r.toobject == userID && Record.confirmationdate == null) //confirmationroles.Contains(r.toobjecttype) && if şartlarına eklenecek yetkilendirmeden sonra { Record.confirmationdate = DateTime.Now; } else { if (Record.stockcard.hasserial == true && string.IsNullOrWhiteSpace(r.serialno)) { return(Request.CreateResponse(HttpStatusCode.OK, tqid, "application/json"));//seri numarası girilmesi gerekirken girilmemişse veya boşluk gibi bir karakter girilmişse } Record.amount = string.IsNullOrWhiteSpace(r.serialno) ? r.amount : 1; Record.relatedtaskqueue = r.relatedtaskqueue; Record.serialno = r.serialno; Record.stockcardid = r.stockcardid; Record.toobject = r.toobject; Record.toobjecttype = r.toobjecttype; } Record.updatedby = userID; Record.lastupdated = DateTime.Now; db.SaveChanges(); } return(Request.CreateResponse(HttpStatusCode.OK, tqid, "application/json")); } } }
public HttpResponseMessage InsertStockMovement(stockmovement r, int?tqid, string serinos) { // var serinos = Request.Params.AllKeys; var serials = serinos.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries).ToList(); var errormessage = new DTOResponseError(); if (!serials.Any()) { serials.Add(null); } if (ModelState.IsValid) { var userID = 12;//depocu var userType = 2; using (var db = new CRMEntities()) { foreach (var seri in serials) { //serino kontrolü yap. varsa ekleme. var userControl = db.stockmovement.Where(s => s.serialno == seri).Select(s => s.fromobject).FirstOrDefault(); if (userControl != userID) { errormessage.errorCode = -1; errormessage.errorMessage = "Yalnızca Kendinize Ait Ürünleri Başkasına Çıkabilirsiniz"; } else { var count = db.stockmovement.Where(s => s.serialno == seri).Count(); if ((int)count >= 0) { errormessage.errorCode = -1; errormessage.errorMessage = seri + " Seri numarası daha önce girilmiş! Lütfen Kontrol Ediniz!"; } else { stockmovement sm = new stockmovement(); sm.serialno = seri; sm.lastupdated = DateTime.Now; sm.creationdate = DateTime.Now; sm.toobjecttype = r.toobjecttype; sm.stockcardid = r.stockcardid; sm.toobject = r.toobject; sm.deleted = false; sm.amount = seri == null ? r.amount : 1; sm.relatedtaskqueue = tqid; if (userID == userID)// (long)KocCRMRoles.kscrStockStaff { if (r.toobjecttype == 5000) { sm.fromobjecttype = 4000; sm.fromobject = 1000; sm.confirmationdate = DateTime.Now; } else { sm.fromobjecttype = 5000; sm.fromobject = userID; } } else { sm.fromobjecttype = userType;// Convert.ToInt32(User.Identity.TitleCode); sm.fromobject = userID; } if (r.relatedtaskqueue != null) { sm.confirmationdate = DateTime.Now; } sm.movementdate = DateTime.Now; sm.updatedby = userID; db.stockmovement.Add(sm); db.SaveChanges(); } } } } } return(Request.CreateResponse(HttpStatusCode.OK, tqid, "application/json")); }
public HttpResponseMessage InsertStockMovement(stockmovement r, int?tqid, string serinos) { // var serinos = Request.Params.AllKeys; var serials = serinos.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); var errormessage = new DTOResponseError(); if (!serials.Any()) { serials.Add(null); } if (ModelState.IsValid) { var userID = KOCAuthorizeAttribute.getCurrentUser().userId;//depocu var userType = KOCAuthorizeAttribute.getCurrentUser().userRole; using (var db = new CRMEntities()) { foreach (var seri in serials) { var userControl = db.stockmovement.Where(s => s.serialno == seri).OrderByDescending(s => s.movementid).Select(s => s.toobject).FirstOrDefault(); //serino kontrolü yap. varsa ekleme if (seri != null && (userControl != userID) && ((r.toobjecttype & (int)FiberKocUserTypes.StockRoomStuff) != (int)FiberKocUserTypes.StockRoomStuff)) //satınalmadan depoya çıkış için özel durum { errormessage.errorCode = -1; errormessage.errorMessage = "Yalnızca Kendinize Ait Ürünleri Başkasına Çıkabilirsiniz"; } else { var count = db.stockmovement.Where(s => s.serialno == seri).Count(); //satınalmadan depoya ürün girerken seri numarası kontrolü yap if (r.fromobjecttype == 33554433 && (r.toobjecttype & (int)FiberKocUserTypes.StockRoomStuff) == (int)FiberKocUserTypes.StockRoomStuff && (int)count > 0) { errormessage.errorCode = -1; errormessage.errorMessage = seri + " Seri numarası daha önce girilmiş! Lütfen Kontrol Ediniz!"; } else { stockmovement sm = new stockmovement(); sm.serialno = seri; sm.lastupdated = DateTime.Now; sm.creationdate = DateTime.Now; sm.toobjecttype = r.toobjecttype; sm.stockcardid = r.stockcardid; sm.toobject = r.toobject; sm.deleted = false; sm.amount = seri == null ? r.amount : 1; sm.relatedtaskqueue = tqid; if ((KOCAuthorizeAttribute.getCurrentUser().userRole & (int)FiberKocUserTypes.StockRoomStuff) == (int)FiberKocUserTypes.StockRoomStuff) // (long)KocCRMRoles.kscrStockStaff { if ((r.toobjecttype & (int)FiberKocUserTypes.StockRoomStuff) == (int)FiberKocUserTypes.StockRoomStuff) // ise bu bir satınalma işlemidir. { sm.fromobjecttype = (int)FiberKocUserTypes.ADSLProcurementAssosiation; sm.fromobject = (int)FiberKocUserTypes.ADSLProcurementAssosiation; sm.confirmationdate = DateTime.Now; } else { sm.fromobjecttype = (int)FiberKocUserTypes.ADSLStockRoomAssosiation; sm.fromobject = KOCAuthorizeAttribute.getCurrentUser().userId; } } else { sm.fromobjecttype = userType;// Convert.ToInt32(User.Identity.TitleCode); sm.fromobject = userID; } if (r.relatedtaskqueue != null) { sm.confirmationdate = DateTime.Now; } sm.movementdate = DateTime.Now; sm.updatedby = userID; db.stockmovement.Add(sm); db.SaveChanges(); } } } } } return(Request.CreateResponse(HttpStatusCode.OK, tqid, "application/json")); }