コード例 #1
0
        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"));
                }
            }
        }
コード例 #2
0
        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"));
        }
コード例 #3
0
        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"));
        }