public ActionResult MakeOrder(OrderViewModel order)
        {
            DepotDTO depot = depots.GetById(order.DepotId);

            if (depots.GetById(order.DepotId) == null)
            {
                return(RedirectToAction("MakeOrder"));
            }

            IEnumerable <DrugUnitDTO> unitsToSend = new List <DrugUnitDTO>();

            order.Lines.ForEach(line =>
            {
                if (line.Amount > 0)
                {
                    unitsToSend = unitsToSend.Concat(drugUnits.Purchase(order.DepotId, line.DrugTypeId, line.Amount));
                }
            });

            return(View("OrderSummary", new OrderSummaryViewModel()
            {
                Depot = depot,
                UnitsToSend = unitsToSend
            }));
        }
        public IEnumerable <TrackDTO> GetAllTracks(DepotDTO depot)
        {
            List <TrackDTO> tracks = new List <TrackDTO>();

            using (SqlConnection conn = new SqlConnection(DBConnection._connectionString))
            {
                conn.Open();
                using (SqlCommand cmd = new SqlCommand("SELECT dbo.Track.TrackNumber FROM dbo.Depot INNER JOIN dbo.Track ON dbo.Depot.Id = dbo.Track.DepotId;"))
                {
                    using (SqlDataReader dataReader = cmd.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            int      id          = dataReader.GetInt32(0);
                            int      trackNumber = dataReader.GetInt32(1);
                            TrackDTO track       = new TrackDTO
                            {
                                Id          = id,
                                TrackNumber = trackNumber
                            };
                            tracks.Add(track);
                        }
                    }
                }
            }
            return(tracks);
        }
示例#3
0
        public ResultBM GetDepot(int depotId)
        {
            try
            {
                AddressBLL addressBll    = new AddressBLL();
                ResultBM   addressResult = null;
                DepotDAL   depotDal      = new DepotDAL();
                DepotDTO   depotDto      = depotDal.GetDepot(depotId);
                DepotBM    depotBm       = null;

                //Si existe el depósito debe existir la dirección
                if (depotDto != null)
                {
                    addressResult = addressBll.GetAddress(depotDto.addressId);
                    if (!addressResult.IsValid())
                    {
                        return(addressResult);
                    }
                    if (addressResult.GetValue() == null)
                    {
                        throw new Exception("La dirección " + depotDto.addressId + " para el depósito " + depotId + " no existe.");
                    }

                    depotBm = new DepotBM(depotDto, addressResult.GetValue <AddressBM>());
                }

                return(new ResultBM(ResultBM.Type.OK, "Operación exitosa.", depotBm));
            }
            catch (Exception exception)
            {
                return(new ResultBM(ResultBM.Type.EXCEPTION, SessionHelper.GetTranslation("RETRIEVING_ERROR") + " " + exception.Message, exception));
            }
        }
示例#4
0
 private void AddDepotToUnit(DrugUnitDTO unit)
 {
     if (unit.Depot != null)
     {
         DepotDTO depotDTO = unitOfWork.Depots.GetById(unit.Depot.DepotId).ToDTO();
         unit.Depot = depotDTO;
     }
 }
示例#5
0
 public static Depot ToDAL(this DepotDTO depotDTO)
 {
     return(new Depot()
     {
         DepotId = depotDTO.DepotId,
         DepotName = depotDTO.DepotName,
         CountryId = depotDTO.Country?.CountryId
     });
 }
 private void AddCountryToDepot(DepotDTO depotToFill)
 {
     if (depotToFill?.Country != null)
     {
         CountryDTO country = unitOfWork.Countries.GetById(depotToFill.Country.CountryId).ToDTO();
         country.SupplyingDepot = depotToFill;
         depotToFill.Country    = country;
     }
 }
示例#7
0
        private DepotDTO Resolve(List <String> item)
        {
            DepotDTO result = new DepotDTO();

            result.id        = int.Parse(item[0]);
            result.name      = item[1];
            result.addressId = int.Parse(item[2]);
            return(result);
        }
示例#8
0
        /// <summary>
        /// UPDATE
        /// </summary>
        /// <param name="depotDto"></param>
        public void UpdateDepot(DepotDTO depotDto)
        {
            var dbContext = new RentAVehicleDB();

            Depot depot = _mapper.Map <Depot>(depotDto);

            dbContext.Depots.Attach(depot);

            dbContext.SaveChanges();
        }
        public JsonResult GetDepotDrugTypes(int?depotId)
        {
            DepotDTO       depotDto   = depots.GetById(depotId);
            DepotViewModel depotModel = new DepotViewModel()
            {
                Depot          = depotDto,
                DepotDrugUnits = drugUnits.GetByDepot(depotDto?.DepotId)
            };

            return(Json(depotModel.DepotDrugTypes, JsonRequestBehavior.AllowGet));
        }
示例#10
0
        /// <summary>
        /// INSERT
        /// </summary>
        /// <param name="depotDto"></param>
        public void InsertDepot(DepotDTO depotDto)
        {
            var dbContext = new RentAVehicleDB();

            Depot depot = _mapper.Map <Depot>(depotDto);

            depot.Id = Guid.NewGuid();

            dbContext.Depots.Add(depot);

            dbContext.SaveChanges();
        }
 public void Create(DepotDTO obj)
 {
     using (SqlConnection conn = new SqlConnection(DBConnection._connectionString))
     {
         conn.Open();
         using (SqlCommand command = new SqlCommand("INSERT INTO [dbo.Depot]([Location]) VALUES (@Location)", conn))
         {
             command.Parameters.AddWithValue("@Location", obj.Location);
             command.ExecuteNonQueryAsync();
             conn.Close();
         }
     }
 }
 public void Update(DepotDTO obj)
 {
     using (SqlConnection conn = new SqlConnection(DBConnection._connectionString))
     {
         using (SqlCommand cmd = new SqlCommand($"UPDATE Depot SET [location] = @Location WHERE [Id] = @Id ", conn))
         {
             conn.Open();
             cmd.Parameters.AddWithValue("@Id", obj.Id);
             cmd.Parameters.AddWithValue("@Location", obj.Location);
             cmd.ExecuteNonQuery();
             conn.Close();
         }
     }
 }
示例#13
0
        public IEnumerable <DrugUnitDTO> GetByDepot(int?depotId)
        {
            DepotDTO depot = unitOfWork.Depots.GetById(depotId)?.ToDTO();
            IEnumerable <DrugUnitDTO> unitsOfDepot = drugUnits.GetAll().Where(unit => unit.DepotId == depotId).ToList()
                                                     .Select(unit => unit.ToDTO()).ToList();

            foreach (var unit in unitsOfDepot)
            {
                AddDrugTypeToUnit(unit);
                unit.Depot = depot;
            }

            return(unitsOfDepot);
        }
        private DepotViewModel MapDepotDTOToViewModel(DepotDTO dto)
        {
            DepotViewModel returnDepot = new DepotViewModel()
            {
                Id          = dto.Id,
                Location    = dto.Location,
                DepotTracks = new List <TrackViewModel>()
            };

            foreach (TrackDTO track in dto.DepotTracks)
            {
                returnDepot.DepotTracks.Add(_mapper.Map <TrackViewModel>(track));
            }
            return(returnDepot);
        }
示例#15
0
        public void do_Edit()
        {
            if (!MspTool.PermissionControl(AppMain.User.username, SecRightType.Update, (int)DocumentType.Depot, AppMain.CompanyRecId))
            {
                return;
            }
            DepotDTO Orow = (DepotDTO)gcv_Depot.GetFocusedRow();

            if (Orow != null)
            {
                frmDepoEdit frm = new frmDepoEdit();
                frm._FormOpenType = Infrastructure.FormOpenType.Edit;
                frm.Show(Orow.DID);
            }
        }
        private DepotDTO MapDepotViewModelToDTO(DepotViewModel depotViewModel)
        {
            DepotDTO returnDepot = new DepotDTO()
            {
                Id          = depotViewModel.Id,
                Location    = depotViewModel.Location,
                DepotTracks = new List <TrackDTO>()
            };

            foreach (TrackViewModel track in depotViewModel.DepotTracks)
            {
                returnDepot.DepotTracks.Add(_mapper.Map <TrackDTO>(track));
            }
            return(returnDepot);
        }
示例#17
0
        public void Show(int id)
        {
            if (_FormOpenType == FormOpenType.New)
            {
                __depot = new DepotDTO();
            }
            if (_FormOpenType == FormOpenType.Edit)
            {
                __depot = _repository.Run <DepotService, DepotDTO>(x => x.GetDepot(id));
            }



            bs_DepotEdit.DataSource = __depot;
            this.ShowDialog();
        }
示例#18
0
        private void btnRemoveDepot_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (!MspTool.PermissionControl(AppMain.User.username, SecRightType.Delete, (int)DocumentType.Depot, AppMain.CompanyRecId))
            {
                return;
            }
            DepotDTO oRow = (DepotDTO)gcv_Depot.GetFocusedRow();

            if (oRow != null)
            {
                if (get_Question("Kayıt Silinecektir. Onaylıyor musunuz?"))
                {
                    var result = _repository.Run <DepotService, ActionResponse <DepotDTO> >(x => x.DeleteDepot(oRow.DID));
                    do_refresh();
                }
            }
        }
示例#19
0
        public ActionResponse <DepotDTO> SaveDepot(DepotDTO model)
        {
            ActionResponse <DepotDTO> response = new ActionResponse <DepotDTO>()
            {
                Response     = model,
                ResponseType = ResponseType.Ok
            };

            using (MspDbContext _db = new MspDbContext())
            {
                try
                {
                    if (response.Response.DID == 0)
                    {
                        _db.Depot.Add(base.Map <DepotDTO, Depots>(model));
                        _db.SaveChanges();
                    }
                    else
                    {
                        var entity = _db.Depot.FirstOrDefault(x => x.DID == response.Response.DID);
                        if (entity != null)
                        {
                            _db.Entry(entity).CurrentValues.SetValues(model);
                            _db.Entry(entity).State = System.Data.Entity.EntityState.Modified;
                        }
                    }
                    _db.SaveChanges();
                }
                catch (Exception e)
                {
                    response.Message      = e.ToString();
                    response.ResponseType = ResponseType.Error;
                }
            }
            return(response);
        }
示例#20
0
 public void Update(DepotDTO depot)
 {
     _depotaccess.Update(depot);
 }
示例#21
0
 public void ReceiveTram(string tramNumber, bool repairstatus, bool cleanstatus, string statusDescription, DepotDTO depot)
 {
     if (CheckIfTramIsAllowed(tramNumber, _tramlogic))
     {
         TramDTO tram = _tramlogic.GetTram(tramNumber);
         changeTramStatus(tram, repairstatus, cleanstatus, _tramlogic, statusDescription);
         //AllocationManager.AllocateTramToService(tram, _repairServiceLogic, _cleaningServiceLogic);
         AllocationManager.AllocateToRandomTrack(tram, depot.DepotTracks, _tracklogic);
     }
     else
     {
         //not needed yet
     }
 }
        public DepotDTO Read(int key)
        {
            DepotDTO depot = new DepotDTO();

            depot.DepotTracks = new List <TrackDTO>();
            using (SqlConnection conn = new SqlConnection(DBConnection._connectionString))
            {
                //SELECT dbo.Depot.Id, dbo.Depot.Location, dbo.Track.TrackNumber, dbo.Sector.TramId, dbo.Tram.TramNumber FROM dbo.Depot RIGHT JOIN dbo.Track ON dbo.Depot.Id = dbo.Track.depotId RIGHT JOIN dbo.Sector ON dbo.Track.Id = dbo.Sector.TrackId RIGHT JOIN dbo.Tram ON dbo.Tram.Id = dbo.Sector.TramId WHERE [Id] = @key;
                using (SqlCommand cmd = new SqlCommand($"SELECT dbo.Depot.Id, dbo.Depot.Location, dbo.Track.Id, dbo.Track.TrackNumber, dbo.Track.PreferedLine, dbo.Track.PreferedTramType, dbo.Track.RepairServiceId, dbo.Sector.Id, dbo.Sector.Location, dbo.Sector.TramId, dbo.Tram.TramNumber, dbo.Tram.Type, dbo.Status_Tram.StatusId, dbo.Status_Tram.Description, dbo.Status_Tram.Id FROM dbo.Depot RIGHT JOIN dbo.Track ON dbo.Depot.Id = dbo.Track.depotId RIGHT JOIN dbo.Sector ON dbo.Track.Id = dbo.Sector.TrackId LEFT JOIN dbo.Tram ON dbo.Sector.TramId = dbo.Tram.Id LEFT JOIN dbo.Status_Tram ON dbo.Tram.Id = dbo.Status_Tram.TramId WHERE [DepotId] = @key", conn))
                {
                    cmd.Parameters.AddWithValue("@key", key);
                    conn.Open();
                    using (SqlDataReader dataReader = cmd.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            TrackDTO track = new TrackDTO();
                            depot.Id       = dataReader.GetInt32(0);
                            depot.Location = dataReader.GetString(1);
                            int trackId = dataReader.GetInt32(2);

                            if (!depot.DepotTracks.Any(i => i.Id == trackId))
                            {
                                track.Id          = trackId;
                                track.TrackNumber = dataReader.GetInt32(3);
                                if (!dataReader.IsDBNull(5))
                                {
                                    track.TramType = (TramType)dataReader.GetInt32(5);
                                }
                                if (!dataReader.IsDBNull(4))
                                {
                                    track.PreferredTrackLine = dataReader.GetInt32(4);
                                }
                                depot.DepotTracks.Add(track);
                            }
                            int sectorId = dataReader.GetInt32(7);
                            if (!depot.DepotTracks.Any(track => track.Sectors.Any(sector => sector.Id == sectorId)))
                            {
                                SectorDTO sector = new SectorDTO
                                {
                                    Id             = sectorId,
                                    SectorPosition = dataReader.GetInt32(8),
                                    TrackNumber    = dataReader.GetInt32(3),
                                };
                                depot.DepotTracks.FirstOrDefault(i => i.Id == dataReader.GetInt32(2)).Sectors.Add(sector);
                            }
                            if (!dataReader.IsDBNull(9))
                            {
                                int tramId    = dataReader.GetInt32(9);
                                var foundTram = depot.DepotTracks.FirstOrDefault(i => i.Id == dataReader.GetInt32(2)).Sectors.FirstOrDefault(d => d.Id == dataReader.GetInt32(7)).Tram;
                                if (foundTram == null)
                                {
                                    TramDTO tram = new TramDTO
                                    {
                                        Id         = tramId,
                                        TramNumber = dataReader.GetString(10),
                                        Type       = (TramType)dataReader.GetInt32(11),
                                    };
                                    TrackDTO foundTrack = depot.DepotTracks.FirstOrDefault(i => i.Id == dataReader.GetInt32(2));
                                    foundTrack.Sectors.FirstOrDefault(i => i.Id == dataReader.GetInt32(7)).Tram = tram;
                                }
                                StatusDTO status = new StatusDTO();
                                if (!dataReader.IsDBNull(12))
                                {
                                    status.Status = (TramStatus)dataReader.GetInt32(12);
                                }
                                if (!dataReader.IsDBNull(13))
                                {
                                    status.Description = dataReader.GetString(13);
                                }
                                if (!dataReader.IsDBNull(14))
                                {
                                    status.StatusId = dataReader.GetInt32(14);
                                    TrackDTO foundTrack = depot.DepotTracks.FirstOrDefault(i => i.Id == dataReader.GetInt32(2));
                                    foundTrack.Sectors.FirstOrDefault(i => i.Id == dataReader.GetInt32(7)).Tram.Status.Add(status);
                                }
                            }
                        }
                    }
                }
                conn.Close();
            }
            return(depot);
        }
示例#23
0
        public void AddDepot(DepotDTO depotDto)
        {
            DepotManager depotManager = new DepotManager();

            depotManager.InsertDepot(depotDto);
        }
示例#24
0
        public void UpDateDepot(DepotDTO depotDto)
        {
            DepotManager depotManager = new DepotManager();

            depotManager.UpdateDepot(depotDto);
        }
示例#25
0
        public DepotDTO GetDepot(string depotName)
        {
            int trackNumber     = 0;
            int lineNumber      = 0;
            int orderNumber     = 0;
            int saveTrackNumber = 0;
            int saveLineNumber  = 0;
            int saveOrderNumber = 0;

            DepotDTO depot = new DepotDTO();

            TrackDepotDTO  trackDepot  = new TrackDepotDTO();
            SectorDepotDTO sectorDepot = new SectorDepotDTO();

            List <TrackDepotDTO>  trackDepots  = new List <TrackDepotDTO>();
            List <SectorDepotDTO> sectorDepots = new List <SectorDepotDTO>();

            try
            {
                _connect.Con.Open();

                string query = "SELECT track.OrderNumber, track.TrackNumber, track.Line, sector.Position, sector.idSectorStatus, sector.idTram, remise.Name FROM `track` "
                               + "INNER JOIN sector ON sector.idTrack = track.idTrack "
                               + "INNER JOIN remise ON remise.idRemise = track.idRemise "
                               + "WHERE remise.Name = @name ORDER BY track.OrderNumber, track.TrackNumber, sector.Position";
                MySqlCommand cmd = new MySqlCommand(query, _connect.Con);
                cmd.Parameters.AddWithValue("@Name", depotName);
                var dataReader = cmd.ExecuteReader();

                if (dataReader.HasRows)
                {
                    while (dataReader.Read())
                    {
                        trackDepot  = new TrackDepotDTO();
                        sectorDepot = new SectorDepotDTO();

                        depot.Name = dataReader.GetString("Name");

                        saveTrackNumber            = dataReader.GetInt32("TrackNumber");
                        saveOrderNumber            = dataReader.GetInt32("OrderNumber");
                        saveLineNumber             = dataReader.GetInt32("Line");
                        sectorDepot.idSectorStatus = dataReader.GetInt32("idSectorStatus");
                        sectorDepot.Position       = dataReader.GetInt32("Position");
                        sectorDepot.idTram         = dataReader.IsDBNull(dataReader.GetOrdinal("idTram")) ? 0 : dataReader.GetInt32("idTram");
                        if (trackNumber == saveTrackNumber)
                        {
                            sectorDepots.Add(sectorDepot);
                            trackDepot.Sectors = sectorDepots;
                        }
                        else
                        {
                            if (trackNumber != 0)
                            {
                                trackDepot.TrackNumber = trackNumber;
                                trackDepot.OrderNumber = orderNumber;
                                trackDepot.Line        = lineNumber;
                                trackDepot.Sectors     = sectorDepots;

                                trackDepots.Add(trackDepot);
                                sectorDepots = new List <SectorDepotDTO>();
                            }
                            sectorDepots.Add(sectorDepot);
                        }
                        trackNumber = saveTrackNumber;
                        orderNumber = saveOrderNumber;
                        lineNumber  = saveLineNumber;
                    }
                    trackDepot.TrackNumber = trackNumber;
                    trackDepot.OrderNumber = orderNumber;
                    trackDepot.Line        = lineNumber;
                    trackDepots.Add(trackDepot);
                    depot.Tracks = trackDepots;
                }
                dataReader.Close();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                _connect.Con.Close();
            }
            return(depot);
        }
示例#26
0
 public DepotBM(DepotDTO depotDto, AddressBM addressBm = null)
 {
     this.id      = depotDto.id;
     this.name    = depotDto.name;
     this.address = addressBm;
 }