Esempio n. 1
0
        public IHttpActionResult PutAccessCard(int id, AccessCard accessCard)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != accessCard.Id)
            {
                return(BadRequest());
            }

            db.Entry(accessCard).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AccessCardExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Esempio n. 2
0
        protected bool isCreatorNote(AccessCard card)
        {
            db.Entry(card).Reference(i => i.Note).Load();

            string creatorId = card.Note.CreatorId;
            string userId    = User.Identity.GetUserId();

            return(creatorId.Equals(userId));
        }
Esempio n. 3
0
 private void CodeEnterFail(AccessCard card)
 {
     card.EnteredCodeFail++;
     if (card.EnteredCodeFail >= 3)
     {
         card.IsBlocked       = true;
         card.EnteredCodeFail = 0;
     }
     _repo.SaveChanges();
 }
Esempio n. 4
0
        public IHttpActionResult GetAccessCard(int id)
        {
            AccessCard accessCard = db.AccessCards.Find(id);

            if (accessCard == null)
            {
                return(NotFound());
            }

            return(Ok(accessCard));
        }
        public async Task <ActionResult> Edit([Bind(Include = "CardID,BayID,Active,IsAssigned,LastActive,ModifiedDate,Remarks,CreatedDate,CardKey")] AccessCard accessCard, byte[] RowVersion)
        {
            string[] fieldsToBind = new string[] { "CardID", "BayID", "Active", "IsAssigned", "LastActive", "ModifiedDate", "Remarks", "CreatedDate", "CardKey" };
            if (ModelState.IsValid)
            {
                var accessCardToUpdate = await db.AccessCards.FindAsync(accessCard.CardID);

                if (accessCardToUpdate == null)
                {
                    AccessCard accessCardDeleted = new AccessCard();
                    TryUpdateModel(accessCardDeleted, fieldsToBind);
                    ModelState.AddModelError(string.Empty, "Unable to save changes. The Access Card was deleted by another user.");
                    return(RedirectToAction("Index"));
                }
                if (TryUpdateModel(accessCardToUpdate, fieldsToBind))
                {
                    string UpdatedUser = string.Empty;
                    try
                    {
                        UpdatedUser = accessCardToUpdate.ModifiedBy;
                        accessCardToUpdate.ModifiedDate = DateTime.Now;
                        accessCardToUpdate.ModifiedBy   = User.Identity.Name;
                        db.Entry(accessCardToUpdate).Property(x => x.CreatedDate).IsModified = false;
                        db.Entry(accessCardToUpdate).Property(x => x.CreatedBy).IsModified   = false;
                        db.Entry <AccessCard>(accessCardToUpdate).State           = EntityState.Modified;
                        db.Entry(accessCardToUpdate).OriginalValues["RowVersion"] = RowVersion;
                        await db.SaveChangesAsync();

                        return(RedirectToAction("Index"));
                    }
                    catch (DbUpdateConcurrencyException ex)
                    {
                        var entry         = ex.Entries.Single();
                        var clientValues  = (AccessCard)entry.Entity;
                        var databaseEntry = entry.GetDatabaseValues();
                        if (databaseEntry == null)
                        {
                            TempData["ErrorMessage"] = "Unable to save changes. The record was deleted";
                        }
                        else
                        {
                            TempData["ErrorMessage"] = "Unable to save changes. The record was edited by " + UpdatedUser + ". Select Updated Record.";
                        }
                    }
                }
                return(RedirectToAction("Index"));

                //db.Entry(accessCard).State = EntityState.Modified;
                //db.SaveChanges();
                //return RedirectToAction("Index");
            }
            ViewBag.BayID = new SelectList(db.Bays, "BayID", "Remarks", accessCard.BayID);
            return(View(accessCard));
        }
Esempio n. 6
0
        public IHttpActionResult PostAccessCard(AccessCard accessCard)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.AccessCards.Add(accessCard);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = accessCard.Id }, accessCard));
        }
Esempio n. 7
0
        public IHttpActionResult DeleteAccessCard(int id)
        {
            AccessCard accessCard = db.AccessCards.Find(id);

            if (accessCard == null)
            {
                return(NotFound());
            }

            db.AccessCards.Remove(accessCard);
            db.SaveChanges();

            return(Ok(accessCard));
        }
Esempio n. 8
0
        public IHttpActionResult PostAccessCard(AccessCard accessCard)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (!isCreatorNote(accessCard))
            {
                return(BadRequest("Not found note"));
            }
            db.AccessCards.Add(accessCard);
            db.SaveChanges();

            return(Ok(accessCard));
        }
Esempio n. 9
0
        public IHttpActionResult PostAccessCard(int id)
        {
            AccessCard accessCard = db.AccessCards.Find(id);

            if (accessCard == null)
            {
                return(NotFound());
            }

            if (!isCreatorNote(accessCard))
            {
                return(NotFound());
            }

            db.AccessCards.Remove(accessCard);
            db.SaveChanges();

            return(Ok(accessCard));
        }
Esempio n. 10
0
        public string ClientInformation(Customer client, bool viewCodes = false)
        {
            var info = new StringBuilder();

            info.Append("Информация о клиенте (на " + DateTime.Now + ")\n");
            info.Append(ClientShortInfo(client));
            if (client != null)
            {
                info.Append("\nПароль " + client.Passoword);
            }
            AccessCard ac = null;

            if (viewCodes && client.AccessCards != null && client.AccessCards.Count > 0)
            {
                ac = client.AccessCards.First();
                info.Append(".\n\nИнформация о карт-счете клиента: \n");
                info.Append(AccessCardInformation(ac));
                info.Append("\nКарт-счета клиента:\n");
            }

            return(info.ToString());
        }
Esempio n. 11
0
        //[ValidateAntiForgeryToken]
        public ActionResult Create(AccessCard accessCard)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (accessCard.CardID.Equals(0))
                    {
                        db.AccessCards.Add(accessCard);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        accessCard.ModifiedDate = DateTime.Now;
                        accessCard.ModifiedBy   = User.Identity.Name;
                        db.AccessCards.Attach(accessCard);
                        db.Entry(accessCard).Property(x => x.BayID).IsModified        = true;
                        db.Entry(accessCard).Property(x => x.Remarks).IsModified      = true;
                        db.Entry(accessCard).Property(x => x.Active).IsModified       = true;
                        db.Entry(accessCard).Property(x => x.IsAssigned).IsModified   = true;
                        db.Entry(accessCard).Property(x => x.ModifiedDate).IsModified = true;
                        db.Entry(accessCard).Property(x => x.ModifiedBy).IsModified   = true;
                        //db.Entry(accessCard).State = EntityState.Modified;
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                }
                catch
                {
                    TempData["CustomError"] = "Card ID is not Unique";
                    return(RedirectToAction("Index"));
                }
            }

            ViewBag.BayID = new SelectList(db.Bays, "BayID", "Remarks", accessCard.BayID);
            return(View(accessCard));
        }
Esempio n. 12
0
        public string AccessCardInformation(AccessCard accessCard)
        {
            var info = new StringBuilder();

            if (accessCard != null)
            {
                info.Append("Неудачных попыток входа: ");
                info.Append(accessCard.EnteredCodeFail);
                info.Append(".\nКарта доступа ");
                info.Append(accessCard.IsBlocked?"заблокирована.":"не заблокирована.");
                if (accessCard.AccessCodes != null && accessCard.AccessCodes.Count > 0)
                {
                    info.Append("\nКоды доступа:\n");
                    for (int i = 0, nn = 0; i < accessCard.AccessCodes.Count; i++, nn++)
                    {
                        info.Append(accessCard.AccessCodes.ElementAt(i).Number);
                        info.Append(". ");
                        info.Append(accessCard.AccessCodes.ElementAt(i).Code);
                        info.Append("  \t");
                        if (nn >= 3)
                        {
                            nn = -1;
                            info.Append("\n");
                        }
                    }
                }
                else
                {
                    //info.Append("\nКоды доступа не обнаружены.");
                }
            }
            else
            {
                info.Append("Карта доступа не обнаружена.");
            }
            return(info.ToString());
        }
        //[ValidateAntiForgeryToken]
        public ActionResult Create([Bind(Include = "ID,IsManual,AccessCardID,DeletedFlag,ShipmentStatusID,OrderID,BayID,BayName,CustomerName,VehicleCode,DriverName,DriverCNIC,CarrierName,ProductID")] Shipment shipment, FormCollection formCollection)
        {
            #region update bays queue
            #endregion
            #region access card update
            if (shipment.AccessCardID != null && shipment.ShipmentStatusID == 1)
            {
                ///////////////////////////////////////////////////update order status///////////////////////////////////////////////////
                Order odr = db.Orders.Where(x => x.OrderID == shipment.OrderID).FirstOrDefault <Order>();
                odr.OrderStatusID = 3;
                odr.ModifiedDate  = DateTime.Now;
                odr.ModifiedBy    = User.Identity.Name;
                db.Orders.Attach(odr);
                db.Entry(odr).Property(x => x.ModifiedDate).IsModified  = true;
                db.Entry(odr).Property(x => x.ModifiedBy).IsModified    = true;
                db.Entry(odr).Property(x => x.OrderStatusID).IsModified = true;
                db.SaveChanges();
                /////////////////////////////////////////////////assign access card///////////////////////////////////////////////
                AccessCard accessCard = db.AccessCards.Where(x => x.CardID == shipment.AccessCardID).FirstOrDefault <AccessCard>();
                accessCard.IsAssigned   = true;
                accessCard.ModifiedDate = DateTime.Now;
                accessCard.ModifiedBy   = User.Identity.Name;
                db.AccessCards.Attach(accessCard);
                db.Entry(accessCard).Property(x => x.ModifiedDate).IsModified = true;
                db.Entry(accessCard).Property(x => x.ModifiedBy).IsModified   = true;
                db.Entry(accessCard).Property(x => x.IsAssigned).IsModified   = true;
                db.Entry(accessCard).State = EntityState.Modified;
                db.SaveChanges();
                //db.Entry(accessCard).State = EntityState.Detached;
            }
            else if (shipment.AccessCardID != null && shipment.ShipmentStatusID != 1 && shipment.ShipmentStatusID != 5)
            {
                ////////////////////////////////////unassign card if any////////////////////////
                int?expectedID = db.Shipments.AsNoTracking().Where(x => x.ID == shipment.ID).FirstOrDefault().AccessCardID;
                if (expectedID != null && expectedID != shipment.AccessCardID)
                {
                    /////////////////////////////////////////access card old///////////////////////
                    AccessCard accessCardOld = db.AccessCards.Where(x => x.CardID == expectedID).FirstOrDefault <AccessCard>();
                    accessCardOld.IsAssigned   = false;
                    accessCardOld.ModifiedDate = DateTime.Now;
                    accessCardOld.ModifiedBy   = User.Identity.Name;
                    db.AccessCards.Attach(accessCardOld);
                    db.Entry(accessCardOld).Property(x => x.ModifiedDate).IsModified = true;
                    db.Entry(accessCardOld).Property(x => x.ModifiedBy).IsModified   = true;
                    db.Entry(accessCardOld).Property(x => x.IsAssigned).IsModified   = true;
                    //////////////////////////access card New///////////////////////////////////////
                    AccessCard accessCardNew = db.AccessCards.Where(x => x.CardID == shipment.AccessCardID).FirstOrDefault <AccessCard>();
                    accessCardNew.CardID       = (int)shipment.AccessCardID;
                    accessCardNew.IsAssigned   = true;
                    accessCardNew.ModifiedDate = DateTime.Now;
                    accessCardNew.ModifiedBy   = User.Identity.Name;
                    db.AccessCards.Attach(accessCardNew);
                    db.Entry(accessCardNew).Property(x => x.ModifiedDate).IsModified = true;
                    db.Entry(accessCardNew).Property(x => x.ModifiedBy).IsModified   = true;
                    db.Entry(accessCardNew).Property(x => x.IsAssigned).IsModified   = true;
                    ///////////////////////////finally save data/////////////////////////////////////

                    db.Entry(accessCardOld).State = EntityState.Modified;
                    db.Entry(accessCardNew).State = EntityState.Modified;
                    db.SaveChanges();
                }
                else
                {
                    ///////////////////////////////////////////////////update order status///////////////////////////////////////////////////
                    Order odr = db.Orders.Where(x => x.OrderID == shipment.OrderID).FirstOrDefault <Order>();
                    odr.OrderStatusID = 3;
                    odr.ModifiedDate  = DateTime.Now;
                    odr.ModifiedBy    = User.Identity.Name;
                    db.Orders.Attach(odr);
                    db.Entry(odr).Property(x => x.ModifiedDate).IsModified  = true;
                    db.Entry(odr).Property(x => x.ModifiedBy).IsModified    = true;
                    db.Entry(odr).Property(x => x.OrderStatusID).IsModified = true;
                    db.SaveChanges();
                    ////////////////////////////////////////////////assign Access card///////////////////////////////////////////////////////
                    AccessCard accessCard = db.AccessCards.Where(x => x.CardID == shipment.AccessCardID).FirstOrDefault <AccessCard>();
                    accessCard.CardID       = (int)shipment.AccessCardID;
                    accessCard.IsAssigned   = true;
                    accessCard.ModifiedDate = DateTime.Now;
                    accessCard.ModifiedBy   = User.Identity.Name;
                    db.AccessCards.Attach(accessCard);
                    db.Entry(accessCard).Property(x => x.ModifiedDate).IsModified = true;
                    db.Entry(accessCard).Property(x => x.ModifiedBy).IsModified   = true;
                    db.Entry(accessCard).Property(x => x.IsAssigned).IsModified   = true;
                    db.Entry(accessCard).State = EntityState.Modified; //commneted by ahad for performance
                    db.SaveChanges();
                }
            }
            else if (shipment.ShipmentStatusID == 5)
            {
                Order odr = db.Orders.Where(x => x.OrderID == shipment.OrderID).FirstOrDefault <Order>();
                odr.OrderStatusID   = 3;
                odr.OrderDeliveryDT = DateTime.Now;
                odr.ModifiedDate    = DateTime.Now;
                odr.ModifiedBy      = User.Identity.Name;
                db.Orders.Attach(odr);
                db.Entry(odr).Property(x => x.ModifiedDate).IsModified    = true;
                db.Entry(odr).Property(x => x.ModifiedBy).IsModified      = true;
                db.Entry(odr).Property(x => x.OrderStatusID).IsModified   = true;
                db.Entry(odr).Property(x => x.OrderDeliveryDT).IsModified = true;
                db.SaveChanges();
                //////////////////////////////
                int bayidfrmDb = db.Shipments.AsNoTracking().Where(x => x.ID == shipment.ID).FirstOrDefault().BayID.Value;
                bayFrequency(bayidfrmDb);

                ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                int        accessCardidfrmDb = db.Shipments.AsNoTracking().Where(x => x.ID == shipment.ID).FirstOrDefault().AccessCardID.Value;
                AccessCard accessCard        = db.AccessCards.Where(x => x.CardID == accessCardidfrmDb).FirstOrDefault <AccessCard>();
                accessCard.IsAssigned   = false;
                accessCard.ModifiedDate = DateTime.Now;
                accessCard.ModifiedBy   = User.Identity.Name;
                db.AccessCards.Attach(accessCard);
                db.Entry(accessCard).Property(x => x.ModifiedDate).IsModified = true;
                db.Entry(accessCard).Property(x => x.ModifiedBy).IsModified   = true;
                db.Entry(accessCard).Property(x => x.IsAssigned).IsModified   = true;
                db.Entry(accessCard).State = EntityState.Modified; //commneted by ahad for performance
                db.SaveChanges();
                //db.Entry(accessCard).State = EntityState.Detached;
            }
            #endregion
            #region shipment compartment
            int compCountTempDataUpdate = Convert.ToInt32(TempData["CompCountUpdate"].ToString());
            if (compCountTempDataUpdate != 0)
            {
                for (int i = 0; i < compCountTempDataUpdate; i++)
                {
                    int compIDConverted = Convert.ToInt32(formCollection["compId" + i]);
                    ShipmentCompartment shipmentComp = db.ShipmentCompartments.Where(x => x.ID == compIDConverted).FirstOrDefault <ShipmentCompartment>();
                    //shipmentComp.ID = Convert.ToInt32(formCollection["compId" + i]);
                    shipmentComp.OrderedQuantity = Convert.ToInt32(formCollection["Order.OrderQty"]);
                    int compPlannedQty;
                    if (Int32.TryParse(formCollection["compPlannedQty" + i], out compPlannedQty))
                    {
                        shipmentComp.PlannedQuantity = compPlannedQty;
                    }
                    else
                    {
                        shipmentComp.PlannedQuantity = null;
                    }
                    if (shipment.ShipmentStatusID == 3 || shipment.ShipmentStatusID == 5) // Either Close or checkedIn
                    {
                        int compManualPreDip;
                        if (Int32.TryParse(formCollection["compManualPreDip" + i], out compManualPreDip))
                        {
                            shipmentComp.PreDip = compManualPreDip;
                        }
                        else
                        {
                            shipmentComp.PreDip = null;
                        }

                        int compManualPostDip;
                        if (Int32.TryParse(formCollection["compManualPostDip" + i], out compManualPostDip))
                        {
                            shipmentComp.PostDip = compManualPostDip;
                        }
                        else
                        {
                            shipmentComp.PostDip = null;
                        }

                        int compDelta;
                        if (Int32.TryParse(formCollection["compDelta" + i], out compDelta))
                        {
                            shipmentComp.Delta = compDelta;
                        }
                        else
                        {
                            shipmentComp.Delta = null;
                        }
                    }

                    shipmentComp.AccessCardKey = shipment.AccessCardID.ToString();
                    shipmentComp.BayID         = Convert.ToInt32(shipment.BayID);
                    shipmentComp.Product       = shipment.ProductID.ToString();
                    shipmentComp.ShipmentID    = shipment.ID;
                    //shipmentComp.CreatedDate = DateTime.Now;
                    shipmentComp.ModifiedDate    = DateTime.Now;
                    shipmentComp.ModifiedBy      = User.Identity.Name;
                    shipmentComp.CompartmentCode = Convert.ToInt32(formCollection["compCode" + i]);
                    shipmentComp.Capacity        = Convert.ToInt32(formCollection["compCapacity" + i]);
                    db.ShipmentCompartments.Attach(shipmentComp);
                    db.Entry(shipmentComp).State = EntityState.Modified;
                    db.SaveChanges();
                    //db.Entry(shipmentComp).State = EntityState.Detached;
                }
            }
            else
            {
                int compCountTempDataNew = Convert.ToInt32(TempData["CompCountNew"].ToString());
                for (int i = 0; i < compCountTempDataNew; i++)
                {
                    try
                    {
                        if (shipment.ShipmentStatusID != 4)
                        {
                            shipment.ShipmentStatusID = 2; // shipment status id is set to queued.
                        }

                        ShipmentCompartment shipmentComp = new ShipmentCompartment();
                        shipmentComp.OrderedQuantity = Convert.ToInt32(formCollection["Order.OrderQty"]);
                        int compPlannedQty;
                        if (Int32.TryParse(formCollection["compPlannedQty" + i], out compPlannedQty))
                        {
                            shipmentComp.PlannedQuantity = compPlannedQty;
                        }
                        else
                        {
                            shipmentComp.PlannedQuantity = null;
                        }

                        shipmentComp.AccessCardKey   = shipment.AccessCardID.ToString();
                        shipmentComp.BayID           = Convert.ToInt32(shipment.BayID);
                        shipmentComp.Product         = shipment.ProductID.ToString();
                        shipmentComp.ShipmentID      = shipment.ID;
                        shipmentComp.CreatedDate     = DateTime.Now;
                        shipmentComp.CreatedBy       = User.Identity.Name;
                        shipmentComp.ModifiedDate    = DateTime.Now;
                        shipmentComp.ModifiedBy      = User.Identity.Name;
                        shipmentComp.CompartmentCode = Convert.ToInt32(formCollection["compCode" + i]);
                        shipmentComp.Capacity        = Convert.ToInt32(formCollection["compCapacity" + i]);
                        db.ShipmentCompartments.Add(shipmentComp);
                        db.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        e.ToString();
                    }
                }
            }
            #endregion

            if (ModelState.IsValid)
            {
                //Shipment ship = db.Shipments.Where(x => x.ID == shipment.ID).FirstOrDefault<Shipment>();
                shipment.ShipmentDate    = DateTime.Now;
                shipment.ModifiedDate    = DateTime.Now;
                shipment.ModifiedBy      = User.Identity.Name;
                db.Entry(shipment).State = EntityState.Modified;
                db.Entry(shipment).Property(x => x.CreatedDate).IsModified = false;
                db.Entry(shipment).Property(x => x.CreatedBy).IsModified   = false;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.AccessCardID     = new SelectList(db.AccessCards, "CardID", "Remarks", shipment.AccessCardID);
            ViewBag.BayID            = new SelectList(db.Bays, "BayID", "Remarks", shipment.BayID);
            ViewBag.OrderID          = new SelectList(db.Orders, "OrderID", "OrderCode", shipment.OrderID);
            ViewBag.ShipmentStatusID = new SelectList(db.ShipmentStatus, "ID", "Status", shipment.ShipmentStatusID);
            ViewBag.ID = new SelectList(db.WeighBridges, "ShipmentID", "Status", shipment.ID);
            return(View(shipment));
        }
        //[ValidateAntiForgeryToken]
        public ActionResult Create(AccessCard accessCard, byte[] RowVersion)
        {
            string[] fieldsToBind = new string[] { "CardID", "BayID", "Active", "IsAssigned", "LastActive", "ModifiedDate", "Remarks", "CreatedDate", "CardKey" };
            if (ModelState.IsValid)
            {
                try
                {
                    if (accessCard.CardID.Equals(0))
                    {
                        accessCard.ModifiedDate = accessCard.LastActive = accessCard.CreatedDate = DateTime.Now;
                        accessCard.CreatedBy    = accessCard.ModifiedBy = User.Identity.Name;
                        int maxId = 0;
                        if (db.AccessCards.Count() > 0)
                        {
                            maxId = db.AccessCards.Max(x => x.CardID);
                        }
                        accessCard.CardID = (maxId > 0) ? (maxId + 1) : 1;
                        db.AccessCards.Add(accessCard);
                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        var accessCardToUpdate = db.AccessCards.Find(accessCard.CardID);
                        if (accessCardToUpdate == null)
                        {
                            AccessCard accessCardDeleted = new AccessCard();
                            TryUpdateModel(accessCardDeleted, fieldsToBind);
                            ModelState.AddModelError(string.Empty, "Unable to save changes. The Access Card was deleted by another user.");
                            return(RedirectToAction("Index"));
                        }
                        if (TryUpdateModel(accessCardToUpdate, fieldsToBind))
                        {
                            string UpdatedUser = string.Empty;
                            try
                            {
                                UpdatedUser = accessCardToUpdate.ModifiedBy;

                                accessCardToUpdate.ModifiedDate = DateTime.Now;
                                accessCardToUpdate.ModifiedBy   = User.Identity.Name;
                                db.AccessCards.Attach(accessCardToUpdate);
                                db.Entry(accessCardToUpdate).Property(x => x.BayID).IsModified        = true;
                                db.Entry(accessCardToUpdate).Property(x => x.Remarks).IsModified      = true;
                                db.Entry(accessCardToUpdate).Property(x => x.Active).IsModified       = true;
                                db.Entry(accessCardToUpdate).Property(x => x.IsAssigned).IsModified   = true;
                                db.Entry(accessCardToUpdate).Property(x => x.ModifiedDate).IsModified = true;
                                db.Entry(accessCardToUpdate).Property(x => x.ModifiedBy).IsModified   = true;


                                db.Entry <AccessCard>(accessCardToUpdate).State           = EntityState.Modified;
                                db.Entry(accessCardToUpdate).OriginalValues["RowVersion"] = RowVersion;
                                db.SaveChanges();
                                return(RedirectToAction("Index"));
                            }
                            catch (DbUpdateConcurrencyException ex)
                            {
                                var entry         = ex.Entries.Single();
                                var clientValues  = (AccessCard)entry.Entity;
                                var databaseEntry = entry.GetDatabaseValues();
                                if (databaseEntry == null)
                                {
                                    TempData["ErrorMessage"] = "Unable to save changes. The record was deleted";
                                }
                                else
                                {
                                    TempData["ErrorMessage"] = "Unable to save changes. The record was edited by " + UpdatedUser + ". Select Updated Record.";
                                }
                            }
                        }
                        return(RedirectToAction("Index"));
                    }
                }
                catch (Exception ex)
                {
                    TempData["CustomError"] = "Card ID is not Unique";
                    return(RedirectToAction("Index"));
                }
            }

            ViewBag.BayID = new SelectList(db.Bays, "BayID", "Remarks", accessCard.BayID);
            return(View("Index", accessCard));
        }
Esempio n. 15
0
        //[ValidateAntiForgeryToken]
        public ActionResult Create([Bind(Include = "ID,AccessCardID,DeletedFlag,ShipmentStatusID,OrderID,BayID,BayName,CustomerName,VehicleCode,DriverName,DriverCNIC,CarrierName,ShipmentDate,ProductID")] Shipment shipment, FormCollection formCollection)
        {
            #region shipment compartment
            int compCountTempDataUpdate = Convert.ToInt32(TempData["CompCountUpdate"].ToString());
            if (compCountTempDataUpdate != 0)
            {
                for (int i = 0; i < compCountTempDataUpdate; i++)
                {
                    int compID = Convert.ToInt32(formCollection["compId" + i]);
                    ShipmentCompartment shipmentComp = db.ShipmentCompartments.AsNoTracking().Where(x => x.ID == compID).FirstOrDefault <ShipmentCompartment>();
                    //shipmentComp.ID = Convert.ToInt32(formCollection["compId" + i]);
                    shipmentComp.OrderedQuantity = Convert.ToInt32(formCollection["Order.OrderQty"]);
                    int compActualQty;
                    if (Int32.TryParse(formCollection["compPlannedQty" + i], out compActualQty))
                    {
                        shipmentComp.ActualBCUQuantity = compActualQty;
                    }
                    else
                    {
                        shipmentComp.ActualBCUQuantity = null;
                    }

                    //shipmentComp.AccessCardKey = shipment.AccessCardID.ToString();
                    //shipmentComp.BayID = Convert.ToInt32(shipment.BayID);
                    shipmentComp.Product    = shipment.ProductID.ToString();
                    shipmentComp.ShipmentID = shipment.ID;
                    //shipmentComp.CreatedDate = DateTime.Now;
                    shipmentComp.ModifiedDate    = DateTime.Now;
                    shipmentComp.ModifiedBy      = User.Identity.Name;
                    shipmentComp.CompartmentCode = Convert.ToInt32(formCollection["compCode" + i]);
                    shipmentComp.Capacity        = Convert.ToInt32(formCollection["compCapacity" + i]);
                    db.ShipmentCompartments.Attach(shipmentComp);
                    db.Entry(shipmentComp).Property(x => x.OrderedQuantity).IsModified   = true;
                    db.Entry(shipmentComp).Property(x => x.ActualBCUQuantity).IsModified = true;
                    db.Entry(shipmentComp).Property(x => x.Product).IsModified           = true;
                    db.Entry(shipmentComp).Property(x => x.ShipmentID).IsModified        = true;
                    db.Entry(shipmentComp).Property(x => x.ModifiedDate).IsModified      = true;
                    db.Entry(shipmentComp).Property(x => x.ModifiedBy).IsModified        = true;
                    db.Entry(shipmentComp).Property(x => x.CompartmentCode).IsModified   = true;
                    db.Entry(shipmentComp).Property(x => x.Capacity).IsModified          = true;
                    db.Entry(shipmentComp).State = EntityState.Modified;
                    db.SaveChanges();
                    //db.Entry(shipmentComp).State = EntityState.Detached;
                }
            }
            else
            {
                int compCountTempDataNew = Convert.ToInt32(TempData["CompCountNew"].ToString());
                for (int i = 0; i < compCountTempDataNew; i++)
                {
                    try
                    {
                        //shipment.ShipmentStatusID = 2; // shipment status id is set to queued.
                        ShipmentCompartment shipmentComp = new ShipmentCompartment();
                        shipmentComp.OrderedQuantity = Convert.ToInt32(formCollection["Order.OrderQty"]);
                        int compPlannedQty;
                        if (Int32.TryParse(formCollection["compPlannedQty" + i], out compPlannedQty))
                        {
                            shipmentComp.PlannedQuantity = compPlannedQty;
                        }
                        else
                        {
                            shipmentComp.PlannedQuantity = null;
                        }

                        shipmentComp.AccessCardKey   = shipment.AccessCardID.ToString();
                        shipmentComp.BayID           = Convert.ToInt32(shipment.BayID);
                        shipmentComp.Product         = shipment.ProductID.ToString();
                        shipmentComp.ShipmentID      = shipment.ID;
                        shipmentComp.CreatedDate     = DateTime.Now;
                        shipmentComp.CreatedBy       = User.Identity.Name;
                        shipmentComp.ModifiedDate    = DateTime.Now;
                        shipmentComp.ModifiedBy      = User.Identity.Name;
                        shipmentComp.CompartmentCode = Convert.ToInt32(formCollection["compCode" + i]);
                        shipmentComp.Capacity        = Convert.ToInt32(formCollection["compCapacity" + i]);
                        db.ShipmentCompartments.Add(shipmentComp);
                        db.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        e.ToString();
                    }
                }
            }
            #endregion
            if (shipment.ShipmentStatusID == 5)
            {
                Order odr = db.Orders.Where(x => x.OrderID == shipment.OrderID).FirstOrDefault <Order>();
                odr.OrderStatusID   = 3;
                odr.OrderDeliveryDT = DateTime.Now;
                odr.ModifiedDate    = DateTime.Now;
                odr.ModifiedBy      = User.Identity.Name;
                db.Orders.Attach(odr);
                db.Entry(odr).Property(x => x.ModifiedDate).IsModified    = true;
                db.Entry(odr).Property(x => x.ModifiedBy).IsModified      = true;
                db.Entry(odr).Property(x => x.OrderStatusID).IsModified   = true;
                db.Entry(odr).Property(x => x.OrderDeliveryDT).IsModified = true;
                db.SaveChanges();

                ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                AccessCard accessCard = db.AccessCards.Where(x => x.CardID == shipment.AccessCardID).FirstOrDefault <AccessCard>();
                accessCard.CardID       = (int)shipment.AccessCardID;
                accessCard.IsAssigned   = false;
                accessCard.ModifiedDate = DateTime.Now;
                accessCard.ModifiedBy   = User.Identity.Name;
                db.AccessCards.Attach(accessCard);
                db.Entry(accessCard).Property(x => x.ModifiedDate).IsModified = true;
                db.Entry(accessCard).Property(x => x.ModifiedBy).IsModified   = true;
                db.Entry(accessCard).Property(x => x.IsAssigned).IsModified   = true;
                db.Entry(accessCard).State = EntityState.Modified; //commneted by ahad for performance
                db.SaveChanges();
                //db.Entry(accessCard).State = EntityState.Detached;
            }
            if (ModelState.IsValid)
            {
                shipment.ModifiedDate = DateTime.Now;
                shipment.ModifiedBy   = User.Identity.Name;
                db.Shipments.Attach(shipment);
                db.Entry(shipment).Property(x => x.ModifiedDate).IsModified     = true;
                db.Entry(shipment).Property(x => x.ModifiedBy).IsModified       = true;
                db.Entry(shipment).Property(x => x.ShipmentStatusID).IsModified = true;
                //db.Entry(shipment).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.AccessCardID     = new SelectList(db.AccessCards, "CardID", "Remarks", shipment.AccessCardID);
            ViewBag.BayID            = new SelectList(db.Bays, "BayID", "Remarks", shipment.BayID);
            ViewBag.OrderID          = new SelectList(db.Orders, "OrderID", "OrderCode", shipment.OrderID);
            ViewBag.ShipmentStatusID = new SelectList(db.ShipmentStatus, "ID", "Status", shipment.ShipmentStatusID);
            ViewBag.ID = new SelectList(db.WeighBridges, "ShipmentID", "Status", shipment.ID);
            return(View(shipment));
        }
Esempio n. 16
0
 private int GetEnterCodeRemaining(AccessCard card)
 {
     return(3 - card.EnteredCodeFail);
 }
Esempio n. 17
0
        private void SetupData()
        {
            var guest = new GangwayService.Entity.Guest
            {
                CruiseDetail = new GuestCruiseDetail
                {
                    ////IsVip = false,
                    IsPrimary = false,
                    Stateroom = "1",
                    StateroomCategoryTypeId = "A",
                    ReservationStatusId = "1001",
                    ReservationNumber = "111",
                    ReservationId = "3",
                    LoyaltyLevelTypeId = "8",
                    BeaconId = "212",
                    HasRecovery = true,
                    CanDebarkAlone = false,
                    StateroomOccupancy = "5"
                },
                PersonalDetail = new PersonalDetail
                {
                    FirstName = "Robert",
                    Gender = Gender.Male,
                    Birthdate = DateTime.Now,
                    Suffix = "MR.",
                    AnniversaryDate = DateTime.Now,
                    BirthCountryId = "2",
                    CitizenshipCountryId = "232",
                    LastName = "Singh",
                    MaritalStatus = "Single"
                },
                GuestId = "600001",
                LastDateTime = DateTime.Now.AddMinutes(5),
                LastEvent = "True",
                SecurityPhotoAddress = "http://172.26.248.122/ImagingMediaService/MediaItems/23"
            };

            var guest1 = new GangwayService.Entity.Guest
            {
                CruiseDetail = new GuestCruiseDetail
                {
                    ////IsVip = false,
                    IsPrimary = false,
                    Stateroom = "121",
                    StateroomCategoryTypeId = "A",
                    ReservationStatusId = "1001",
                    ReservationNumber = "111",
                    ReservationId = "3",
                    LoyaltyLevelTypeId = "8",
                    BeaconId = "212",
                    HasRecovery = true,
                    CanDebarkAlone = false,
                    StateroomOccupancy = "5"
                },
                PersonalDetail = new PersonalDetail
                {
                    FirstName = "Robert",
                    Gender = Gender.Male,
                    Birthdate = DateTime.Now,
                    Suffix = "MR.",
                    AnniversaryDate = DateTime.Now,
                    BirthCountryId = "2",
                    CitizenshipCountryId = "232",
                    LastName = "Singh",
                    MaritalStatus = "Single"
                },
                GuestId = "600001",
                LastDateTime = DateTime.Now.AddMinutes(5),
                LastEvent = "True",
                SecurityPhotoAddress = "http://172.26.248.122/ImagingMediaService/MediaItems/23"
            };

            var guest2 = new GangwayService.Entity.Guest
            {
                CruiseDetail = new GuestCruiseDetail
                {
                    ////IsVip = false,
                    IsPrimary = false,
                    Stateroom = "2",
                    StateroomCategoryTypeId = "A",
                    ReservationStatusId = "1001",
                    ReservationNumber = "111",
                    ReservationId = "3",
                    LoyaltyLevelTypeId = "8",
                    BeaconId = "212",
                    HasRecovery = true,
                    CanDebarkAlone = false,
                    StateroomOccupancy = "5"
                },
                PersonalDetail = new PersonalDetail
                {
                    FirstName = "Robert",
                    Gender = Gender.Male,
                    Birthdate = DateTime.Now,
                    Suffix = "MR.",
                    AnniversaryDate = DateTime.Now,
                    BirthCountryId = "2",
                    CitizenshipCountryId = "232",
                    LastName = "Singh",
                    MaritalStatus = "Single"
                },
                GuestId = "600001",
                LastDateTime = DateTime.Now.AddMinutes(5),
                LastEvent = "True",
                SecurityPhotoAddress = "http://172.26.248.122/ImagingMediaService/MediaItems/23"
            };

            var guest3 = new GangwayService.Entity.Guest
            {
                PersonalDetail = new PersonalDetail
                {
                    FirstName = "Robert",
                    Gender = Gender.Male,
                    Birthdate = DateTime.Now,
                    Suffix = "MR.",
                    AnniversaryDate = DateTime.Now,
                    BirthCountryId = "2",
                    CitizenshipCountryId = "232",
                    LastName = "Singh",
                    MaritalStatus = "Single"
                },
                GuestId = "600001",
                LastDateTime = DateTime.Now.AddMinutes(5),
                LastEvent = "True",
                SecurityPhotoAddress = "http://172.26.248.122/ImagingMediaService/MediaItems/23"
            };

            var crew = new DataAccess.Entities.Crewmember
            {
                CrewmemberId = "212",
                CrewmemberTypeId = "21",
                EmployeeNo = "22",
                StateroomId = "1",
                PersonalDetail = new PersonalDetail
                {
                    FirstName = "Robert"
                },
                SecurityPhotoAddress = "http://172.26.248.122/ImagingMediaService/MediaItems/23",
                EmbarkDetail = new EmbarkDetail { AshoreDate = DateTime.Now, OnboardDate = DateTime.Now }
            };

            var safetyDuty = new SafetyDuty
            {
                CrewmemberId = "212",
                SafetyRoleId = "1",
                EndDate = DateTime.Now,
                StartDate = DateTime.Now
            };

            var accessCard = new AccessCard { AccessCardId = "1", AddedDate = DateTime.Now, AccessCardNumber = "1234", ExpiryDate = DateTime.Now.AddDays(1) };
            crew.CrewmemberAccessCards.Add(accessCard);

            var identification = new Identification { DocumentTypeId = "1", Number = "12345" };
            crew.Identifications.Add(identification);

            var crewMemberRole = new CrewmemberRole { RoleId = "1" };
            crew.CrewmemberRoles.Add(crewMemberRole);

            crew.SafetyDuties.Add(safetyDuty);
            var visitor = new GangwayService.Entity.Visitor
            {
                HasAlert = true,
                PersonalDetail = new PersonalDetail
                {
                    DepartmentId = "1",
                    DepartmentName = "TesT",
                    FirstName = "Robert",
                    Gender = Gender.Male,
                    DepartmentPOC = "Test"
                },
                SecurityPhotoAddress = "http://172.26.248.122/ImagingMediaService/MediaItems/23",
                VisitorId = "22",
                VisitorTypeId = "21",
                VisitorInfo = new AdditionalInfo
                {
                    CompanyName = "234dfgfd",
                    ContactNumber = "23452456",
                    VisitPurpose = "retsrt"
                }
            };

            var portDebarkAuthorization = new PortDebarkAuthorization();

            var alert = new Collection<GangwayService.Entity.Alert> { new GangwayService.Entity.Alert { AlertId = "12", AlertType = "2", Message = new Message { Description = "Test", ImageAddress = "http://172.26.248.122/ImagingMediaService/MediaItems/23", Subject = "Test" } } };
            var message = new Collection<GangwayService.Entity.PersonMessage> { new GangwayService.Entity.PersonMessage { AddedBy = Environment.MachineName } };

            var debarkAuthorizedPersonCollection = new DebarkAuthorizedPersonCollection { new DebarkAuthorizedPerson { PersonId = "22", PersonTypeId = "2" }, new DebarkAuthorizedPerson { PersonId = "600001", PersonTypeId = "2" } };

            portDebarkAuthorization.AssignDebarkAuthorizedPersons(debarkAuthorizedPersonCollection);

            var portDebarkAuthorizations = new PortDebarkAuthorizationCollection { new PortDebarkAuthorization { CanDebarkAlone = true } };

            guest.AssignAlerts(alert);
            guest.AssignMessages(message);
            visitor.AssignAlerts(alert);

            guest.AssignPortAuthorizations(portDebarkAuthorizations);

            this.guests.Add(guest);
            this.guests.Add(guest1);
            this.guests.Add(guest2);
            this.guests.Add(guest3);
            this.crewmembers.Add(crew);
            this.visitors.Add(visitor);

            var guestList = new ListResult<GangwayService.Entity.Guest>();
            guestList.AssignItems(this.guests);
            guestList.TotalResults = this.guests.Count;

            var crewList = new ListResult<DataAccess.Entities.Crewmember>();
            crewList.AssignItems(this.crewmembers);
            crewList.TotalResults = this.crewmembers.Count;

            var visitorList = new ListResult<GangwayService.Entity.Visitor>();
            visitorList.AssignItems(this.visitors);
            visitorList.TotalResults = this.visitors.Count;

            this.personRepository.Setup(data => data.RetrieveGuest(It.IsAny<PersonSearchParameter>())).Returns(Task.FromResult(guestList));
            this.personRepository.Setup(data => data.RetrieveCrew(It.IsAny<PersonSearchParameter>())).Returns(Task.FromResult(crewList));
            this.personRepository.Setup(data => data.RetrieveVisitor(It.IsAny<PersonSearchParameter>())).Returns(Task.FromResult(visitorList));
        }
Esempio n. 18
0
        public override bool Execute()
        {
            if (!Verifier.CheckName(Country))
            {
                Information = StringSource.NameStructureError();
                return(false);
            }
            if (!Verifier.CheckAddress(Address))
            {
                Information = StringSource.AddressStructureError();
                return(false);
            }
            if (!Verifier.CheckPassportNumber(PassportNumber))
            {
                Information = StringSource.PassportNumberStructureError();
                return(false);
            }
            if (!Verifier.CheckName(FirstName))
            {
                Information = StringSource.NameStructureError();
                return(false);
            }
            if (!Verifier.CheckName(LastName))
            {
                Information = StringSource.NameStructureError();
                return(false);
            }
            if (!Verifier.CheckName(MiddleName))
            {
                Information = StringSource.NameStructureError();
                return(false);
            }
            if (!Verifier.CheckEMail(EMail))
            {
                Information = StringSource.EMailStructureError();
                return(false);
            }

            Client = new Customer {
                FirstName      = FirstName,
                LastName       = LastName,
                MiddleName     = MiddleName,
                PassportNumber = PassportNumber,
                Country        = Country,
                Address        = Address,
                Email          = EMail,
                Login          = LoginGeneration(),
                Passoword      = PasswordGeneration(),
                IsLocked       = false,
            };

            var gen = new Generator {
                NumberCount = DataSource.LengthCode
            };

            using (var localrepos = new Repositories()) {
                var all = localrepos.Customers.GetAll();
                if (all.Where(el => el.PassportNumber == PassportNumber).Count() > 0)
                {
                    Information = StringSource.ClientPassportNumberIsContains();
                    return(false);
                }

                localrepos.Customers.Add(Client);
                localrepos.SaveChanges();
                ////////////////////////////////////////////////////////////////////
                new Supporting().RemoveClientInformationById(Client.CustomerID);
                ////////////////////////////////////////////////////////////////////
                if (all.Count() > 0)
                {
                    var cl = all.Where(el => el.Login == Client.Login).ToList();
                    if (cl.Count() > 0)
                    {
                        var cc = (Customer)cl.ElementAt(0);
                        IdClient = cc.CustomerID;
                    }
                    else
                    {
                        Information = StringSource.ClientRegistredError(); return(false);
                    }
                }
                else
                {
                    Information = StringSource.ClientRegistredError(); return(false);
                }

                // зарегаем карту доступа
                AccessCard = new AccessCard {
                    //Customer=Client,
                    CustomerID      = Client.CustomerID,
                    EnteredCodeFail = 0,
                    IsBlocked       = false,
                    //AccessCodes=,
                };
                localrepos.AccessCards.Add(AccessCard);
                localrepos.SaveChanges();

                var acs = localrepos.AccessCards.GetAll();
                if (acs.Count() > 0)
                {
                    var acs2 = acs.Where(el => el.CustomerID == Client.CustomerID).ToArray();
                    if (acs2.Count() > 0)
                    {
                        AccessCard = acs2[0];
                    }
                    else
                    {
                        Information = StringSource.ClientRegistredError(); return(false);
                    }
                }
                else
                {
                    Information = StringSource.ClientRegistredError(); return(false);
                }

                for (int i = 0; i < 40; i++)
                {
                    localrepos.AccessCodes.Add(new AccessCode {
                        //AccessCard=ac,
                        AccessCardID = AccessCard.AccessCardID,
                        Code         = gen.NumberGenerate().ToString(),
                        Number       = i + 1,
                    });
                }
                ;
                localrepos.SaveChanges();
            }
            Login       = Client.Login;
            Information = StringSource.ClientRegistred(Client.Login);
            return(true);
        }