public async Task <IActionResult> PutUbication(int id, Ubication ubication)
        {
            if (id != ubication.Id)
            {
                return(BadRequest());
            }

            _context.Entry(ubication).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UbicationExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
 public async Task<ActionResult> DeleteConfirmed(int id)
 {
     Ubication ubication = await db.Ubications.FindAsync(id);
     db.Ubications.Remove(ubication);
     await db.SaveChangesAsync();
     return RedirectToAction("Index");
 }
Exemple #3
0
        public async Task <IHttpActionResult> PutUbication(int id, Ubication ubication)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != ubication.UbicationId)
            {
                return(BadRequest());
            }

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

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UbicationExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public async Task <ActionResult <Ubication> > PostUbication(Ubication ubication)
        {
            _context.Ubications.Add(ubication);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetUbication", new { id = ubication.Id }, ubication));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Ubication ubication = db.Ubications.Find(id);

            db.Ubications.Remove(ubication);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public IHttpActionResult Post(Ubication ubication)
        {
            var hotelManager = new UbicationManagement();

            hotelManager.Create(ubication);
            apiResponse = new ApiResponse();
            return(Ok(apiResponse));
        }
 public async Task<ActionResult> Create([Bind(Include ="UbicationId,Description,Address,Phone,Latitude,Longitude")] Ubication ubication)
 {
     if(ModelState.IsValid)
     {
         db.Ubications.Add(ubication);
         await db.SaveChangesAsync();
         return RedirectToAction("Index");
     }
         return View(ubication);
 }
 public async Task<ActionResult> Edit([Bind(Include = "UbicationId,Description,Address,Phone,Latitude,Longitude")] Ubication ubication)
 {
     if (ModelState.IsValid)
     {
         db.Entry(ubication).State = EntityState.Modified;
         await db.SaveChangesAsync();
         return RedirectToAction("Index");
     }
     return View(ubication);
 }
Exemple #9
0
        public async Task <IHttpActionResult> GetUbication(int id)
        {
            Ubication ubication = await db.Ubications.FindAsync(id);

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

            return(Ok(ubication));
        }
        public async Task <ActionResult> Edit(Ubication ubication)
        {
            if (ModelState.IsValid)
            {
                db.Entry(ubication).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(ubication));
        }
Exemple #11
0
        public async Task <IHttpActionResult> PostUbication(Ubication ubication)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Ubications.Add(ubication);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = ubication.UbicationId }, ubication));
        }
        public async Task <ActionResult> Create(Ubication ubication)
        {
            if (ModelState.IsValid)
            {
                db.Ubications.Add(ubication);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(ubication));
        }
 // GET: Ubications/Delete/5
 public async Task<ActionResult> Delete(int? id)
 {
     if (id == null)
     {
         return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     Ubication ubication = await db.Ubications.FindAsync(id);
     if (ubication == null)
     {
         return HttpNotFound();
     }
     return View(ubication);
 }
Exemple #14
0
        public async Task <IHttpActionResult> DeleteUbication(int id)
        {
            Ubication ubication = await db.Ubications.FindAsync(id);

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

            db.Ubications.Remove(ubication);
            await db.SaveChangesAsync();

            return(Ok(ubication));
        }
        public override BaseEntity BuildObject(Dictionary <string, object> row)
        {
            var ubication = new Ubication
            {
                Id        = GetIntValue(row, DB_COL_ID),
                Hotel     = GetIntValue(row, DB_COL_HOTEL),
                Latitude  = GetStringValue(row, DB_COL_LATITUDE),
                Longitude = GetStringValue(row, DB_COL_LONGITUDE),
                Province  = GetIntValue(row, DB_COL_PROVINCE),
                Canton    = GetIntValue(row, DB_COL_CANTON),
                District  = GetIntValue(row, DB_COL_DISTRICT)
            };

            return(ubication);
        }
        // GET: Ubications/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ubication ubication = db.Ubications.Find(id);

            if (ubication == null)
            {
                return(HttpNotFound());
            }
            reloadViewBags();
            return(View(ubication));
        }
        // GET: Ubications/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ubication ubication = db.Ubications.Find(id);

            if (ubication == null)
            {
                return(HttpNotFound());
            }

            SetDataToViewBags(ubication);
            return(View(ubication));
        }
        // Prepara informacion para viewBags
        private void SetDataToViewBags(Ubication ubication)
        {
            string        outstandingPicture = "";
            List <string> urls     = new List <string>();
            var           pictures = from p in db.UbicationPictures
                                     where p.UbicationId == ubication.UbicationId
                                     select p;

            foreach (var picture in pictures)
            {
                if (picture.OutstandingPicture)
                {
                    outstandingPicture = picture.Extension;
                }
                else
                {
                    var url = picture.Extension;
                    urls.Add(url);
                }
            }

            List <int> ubicationFeatures     = new List <int>();
            var        ubicationFeaturesList = db.UbicationFeaturesUbication.ToList();

            foreach (var feature in ubicationFeaturesList)
            {
                if (feature.UbicationId == ubication.UbicationId)
                {
                    ubicationFeatures.Add(feature.UbicationFeatureId);
                }
            }
            string  CantonId = "";
            Distrit distrit  = db.Distrits.Find(ubication.DistritId);
            var     cantons  = db.Cantons.ToList();

            foreach (var canton in cantons)
            {
                if (canton.CantonId == distrit.CantonId)
                {
                    CantonId = canton.CantonId.ToString();
                }
            }

            reloadViewBags(urls, ubicationFeatures, outstandingPicture, CantonId, ubication);
        }
Exemple #19
0
        public async Task <bool> PostEquipment(EquipmentDto equipmentDto)
        {
            if (await UbicationExists(equipmentDto.Ubication, equipmentDto.UserEmail) != true)
            {
                var email = await _context.Users.Where(u => u.Email.ToLower() == equipmentDto.UserEmail.ToLower()).FirstAsync();

                var ubication = new Ubication
                {
                    Name      = equipmentDto.Ubication,
                    CompanyId = email.CompanyId
                };

                _context.Ubications.Add(ubication);
                await _context.SaveChangesAsync();
            }

            // var uid = await  _context.Ubications.FromSqlRaw("SELECT ub.Id, ub.CompanyId, ub.Name FROM dbo.Ubications ub inner join PWGM.dbo.Users u on ub.CompanyId = u.CompanyId WHERE LOWER(ub.Name) = LOWER('{0}') and LOWER(u.Email) = LOWER({1})",equipmentDto.Ubication, equipmentDto.UserEmail).FirstAsync();
            var uid = await(from ub in _context.Ubications join u in _context.Users on ub.CompanyId equals u.CompanyId where ub.Name.ToLower() == equipmentDto.Ubication.ToLower() && u.Email.ToLower() == equipmentDto.UserEmail.ToLower() select new { ub.Id, ub.CompanyId, ub.Name }).FirstOrDefaultAsync().ConfigureAwait(false);

            var equipment = new Equipment
            {
                DeviceName  = equipmentDto.DeviceName,
                SystemType  = equipmentDto.SystemType,
                StorageType = equipmentDto.StorageType,
                StorageCap  = equipmentDto.StorageCap,
                Processor   = equipmentDto.Processor,
                Memory      = equipmentDto.Memory,
                OsName      = equipmentDto.OsName,
                Observation = equipmentDto.Observation,
                UbicationId = uid.Id,
                Garantia    = equipmentDto.Garantia
            };

            _context.Equipments.Add(equipment);
            return(await _context.SaveChangesAsync() > 0);
        }
        // Recarga viewbags en caso de error
        private void reloadViewBags(List <string> urls, List <int> ubicationFeatures, string outstandingPicture, string CantonId, Ubication ubication)
        {
            ViewBag.UbicationCategoryId = db.UbicationCategory.ToList();
            ViewBag.SelectedCategory    = ubication.UbicationCategoryId.ToString();
            ViewBag.SelectedCanton      = CantonId;
            ViewBag.Selectedurl         = outstandingPicture;
            ViewBag.urls            = urls;
            ViewBag.SelectedDistrit = ubication.DistritId.ToString();
            var distrits = from d in db.Distrits
                           where d.CantonId.ToString() == CantonId
                           select d;

            ViewBag.DistritId                 = new SelectList(distrits.ToList(), "DistritId", "Name");
            ViewBag.CantonId                  = new SelectList(db.Cantons.ToList(), "CantonId", "Name");
            ViewBag.UbicationFeaturesId       = new SelectList(db.UbicationFeatures, "UbicationFeatureId", "Description");
            ViewBag.SelectedUbicationFeatures = ubicationFeatures;
        }
 public void Create(Ubication ubication) => crudUbication.Create(ubication);
 public Ubication RetrieveById(Ubication ubication) => crudUbication.Retrieve <Ubication>(ubication);
 public void Update(Ubication ubication) => crudUbication.Update(ubication);
        public ActionResult Edit([Bind(Include = "UbicationId,Description,Name,DistritId,UbicationCategoryId")] Ubication ubication, string[] urls, int[] ubicationFeatures, string CantonId, string outstandingPicture)
        {
            if (ubication.Name != null && ubication.DistritId > 0 && ubicationFeatures.Length > 0)
            {
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        db.Entry(ubication).State = EntityState.Modified;
                        db.SaveChanges();


                        //---------------Pictures section---------------//
                        if (urls != null)
                        {
                            UbicationPicture        ubicationPicture  = new UbicationPicture();
                            List <UbicationPicture> ubicationPictures = new List <UbicationPicture>();

                            IQueryable <UbicationPicture> currentPicturesEF = from p in db.UbicationPictures
                                                                              where p.UbicationId == ubication.UbicationId
                                                                              select p;

                            //Tenemos la lista de fotos actuales y la foto de portada actual en formato de byte.
                            List <UbicationPicture> currentPicturesList       = currentPicturesEF.ToList();
                            UbicationPicture        currentOutstandingPicture = currentPicturesList.Find(p => p.OutstandingPicture == true);
                            if (outstandingPicture != null)
                            {
                                SetOutstandingPicture(currentOutstandingPicture, currentPicturesList, outstandingPicture, ubication.UbicationId);
                            }

                            var i = 0;
                            foreach (var url in urls)
                            {
                                if (!currentPicturesList.Exists(x => x.Extension == url))
                                {
                                    ubicationPicture = new UbicationPicture();
                                    ubicationPicture.OutstandingPicture = false;
                                    ubicationPicture.Extension          = AddBlobToStorage(ubication.UbicationId, url, i);
                                    ubicationPicture.UbicationId        = ubication.UbicationId;
                                    ubicationPictures.Add(ubicationPicture);
                                }
                                i++;
                            }

                            db.UbicationPictures.AddRange(ubicationPictures);
                            db.SaveChanges();
                        }
                        //---------------End pictures section---------------//


                        //---------------Features section---------------//

                        IQueryable <UbicationFeatureUbication> currentFeatures = from f in db.UbicationFeaturesUbication
                                                                                 where f.UbicationId == ubication.UbicationId
                                                                                 select f;
                        List <UbicationFeatureUbication> currentFeaturesList = currentFeatures.ToList();

                        foreach (var currentFeature in currentFeaturesList)
                        {
                            var NoExists = true;
                            foreach (var feature in ubicationFeatures)
                            {
                                if (currentFeature.UbicationFeatureId == feature)
                                {
                                    NoExists = false;
                                }
                            }

                            if (NoExists)
                            {
                                db.UbicationFeaturesUbication.Remove(currentFeature);
                            }
                        }

                        List <UbicationFeatureUbication> ubicationFeaturesToAdd = new List <UbicationFeatureUbication>();

                        foreach (var feature in ubicationFeatures)
                        {
                            var Exists = false;
                            foreach (var currentFeature in currentFeaturesList)
                            {
                                if (currentFeature.UbicationFeatureId == feature)
                                {
                                    Exists = true;
                                }
                            }

                            if (!Exists)
                            {
                                UbicationFeatureUbication ubicationFeatureUbication = new UbicationFeatureUbication();
                                ubicationFeatureUbication.UbicationFeatureId = feature;
                                ubicationFeatureUbication.UbicationId        = ubication.UbicationId;
                                ubicationFeaturesToAdd.Add(ubicationFeatureUbication);
                            }
                        }
                        db.UbicationFeaturesUbication.AddRange(ubicationFeaturesToAdd);
                        db.SaveChanges();
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }

            reloadViewBags(urls.ToList(), ubicationFeatures.ToList(), outstandingPicture, CantonId, ubication);
            return(View(ubication));
        }
        public ActionResult Create(Ubication ubication, string[] urls, int[] ubicationFeatures, string CantonId, string outstandingPicture)
        {
            if (ubication.Name != null && ubication.DistritId > 0 && ubicationFeatures.Length > 0)
            {
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        db.Ubications.Add(ubication);
                        db.SaveChanges();

                        List <UbicationPicture>          Pictures = new List <UbicationPicture>();
                        List <UbicationFeatureUbication> Features = new List <UbicationFeatureUbication>();
                        UbicationPicture picture = new UbicationPicture();

                        if (outstandingPicture != null)
                        {
                            picture.OutstandingPicture = true;
                            picture.Extension          = AddBlobToStorage(ubication.UbicationId, outstandingPicture);
                            picture.UbicationId        = ubication.UbicationId;
                            Pictures.Add(picture);
                        }

                        if (urls != null)
                        {
                            foreach (var url in urls)
                            {
                                picture = new UbicationPicture();
                                picture.OutstandingPicture = false;
                                picture.Extension          = AddBlobToStorage(ubication.UbicationId, url);
                                picture.UbicationId        = ubication.UbicationId;
                                Pictures.Add(picture);
                            }
                        }


                        foreach (var feature in ubicationFeatures)
                        {
                            UbicationFeatureUbication ubicationFeature = new UbicationFeatureUbication();
                            ubicationFeature.UbicationFeatureId = feature;
                            ubicationFeature.UbicationId        = ubication.UbicationId;
                            Features.Add(ubicationFeature);
                        }

                        db.UbicationPictures.AddRange(Pictures);
                        db.UbicationFeaturesUbication.AddRange(Features);
                        db.SaveChanges();

                        transaction.Commit();
                        return(RedirectToAction("Index"));
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        ViewBag.Error = ex.Message;
                        return(View(ubication));
                    }
                }
            }

            return(View(ubication));
        }